URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [lib/] [libbsp/] [i386/] [ts_386ex/] [tools/] [ts_1325_ada/] [ts1325-led.adb] - Rev 173
Compare with Previous | Blame | View Log
package body TS1325.LED is protected body LED_State is function Get return LED_Colour is State: Byte; Red_On, Green_On: Boolean; begin Inport (LED_Port, State); Green_On := (State and Green_Bit) = Green_Bit; Red_On := (State and Red_Bit) /= Red_Bit; if not (Green_On or Red_On) then return Off; elsif Green_On and not Red_On then return Green; elsif Green_On and Red_On then return Yellow; else return Red; end if; end Get; procedure Set (Col: in LED_Colour) is State: Byte; begin Inport (LED_Port, State); case Col is when Off => State := (State and not Green_Bit) or Red_Bit; when Green => State := State or Green_Bit or Red_Bit; when Yellow => State := (State or Green_Bit) and not Red_Bit; when Red => State := State and not (Green_Bit or Red_Bit); end case; Outport (LED_Port, State); end Set; end LED_State; end TS1325.LED;