od belgarat » čtv 05 úno, 2015 10:03 pm
Pockej, aspekt (= konfigurace svetel) Ti prece umoznuje priradit jednotlivym znakum adresy/subadresy tak, aby sly "zapnout" pomoci ovladace/TC apod ?
K vlastnimu Unisemaforu - sorry, otazka bude nakonec velmi lapidarni -- dlouho mi totiz nedochazelo co se tak slozite vyrabi s temi LIGHT_UP, DIR_UP ... takze jestli chapu spravne, tak * autor zamyslel pri zmene znaku (aspektu) nejrpve svetla zhasnout, a teprve nasledne rozsvitit novy znak
* pomoci GROUP_x (kde x je LEDka) je definovana skupina svetel (z aspektu) kam LEDka x patri tak, aby se dalo vyckat na zhasnuti vsech LEDek daneho znaku (aspektu)
* LIGHT_UP jsou ta svetla, ktera se po zhasnuti opet zacnou rozsvecet
* SPEED_x je pozadovana intenzita na kterou se ma LED rozsvititi (zhasnout), DIR_UP urcuje rozsveceni (1)/zhaseni (0).
* "A" faze FLASH naridi (postupne) zhasnuti, a nasledne (LIGHT_UP) LEDek ve fazi; to zhasinani je dulezite v podstate jen pri zmene znaku anzto po projeti celeho flash cyklu jsou LEDky na zacatku "A" faze uz zhasle. Pro LEDky v protifazi naridi proste zhasnuti
* "B" faze FLASH se dela to same ale obracene
Co se tyce aspektu ... mne se porad zdalo, ze aspekt urcuje nejen znak, ale ze by pomoci nej sly nejak do jednoho PICu sloucit treba 2 nezavisla navestidla - tim ze aspekt definuje LEDky, kterych se tyka (primo u Paca: enable, neprimo u Tebe: on+off+flash+flashab). Ba dokonce tim ze jsou LIGHTxy samostatne byte, tak zapnuti jednoho aspektu nemusi nutne zrusit LEDky jineho.
ALE to neplati pro CVFLASH, ktere se natvrdo prepise pri cteni aspektu z EEPROM. Pri loadovani se CVFLASH spravne rozlozi na relevantni bity LIGHTxy,FLASH, ale zaroven se CVFLASH (to co se premastilo) pouziva v DoLight* v prubehu blikani .... coz znamena, ze nahrani aspektu muze zabit blikani LEDky, ackoliv pro LEDku nema v CVENABLE bit.
Jest tak ?