From ba78bd9ba834260d035a9830726afc34fdad2a15 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sun, 18 Oct 2009 23:32:54 +0200 Subject: import firmware from LEGO v1.05 --- ATmega48/Source/d_power.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 ATmega48/Source/d_power.c (limited to 'ATmega48/Source/d_power.c') diff --git a/ATmega48/Source/d_power.c b/ATmega48/Source/d_power.c new file mode 100644 index 0000000..f28179a --- /dev/null +++ b/ATmega48/Source/d_power.c @@ -0,0 +1,122 @@ +// +// Programmer +// +// Date init 14.12.2004 +// +// Reviser $Author:: Dktochpe $ +// +// Revision date $Date:: 2-09-05 14:37 $ +// +// Filename $Workfile:: d_power.c $ +// +// Version $Revision:: 7 $ +// +// Archive $Archive:: /LMS2006/Sys01/Ioctrl/Firmware/Source/d_power. $ +// +// Platform C +// + +#include "stdconst.h" +#include "m_sched.h" +#include "d_power.h" +#include "d_power.r" + + +void dPowerInit(void) +{ + POWERInit; +} + + +void dPowerRechargeable(UBYTE Mounted) +{ + if (Mounted) + { + IoFromAvr.Battery |= 0x8000; + } + else + { + IoFromAvr.Battery &= ~0x8000; + } +} + + +UBYTE dPowerReadOn(void) +{ + UBYTE Result = TRUE; + + if (IoToAvr.Power == 0x5A) + { + Result = FALSE; + } + + return (Result); +} + + +UBYTE dPowerReadBoot(void) +{ + UBYTE Result = FALSE; + + if ((IoToAvr.Power == 0xA5) && (IoToAvr.PwmFreq == 0x5A)) + { + IoToAvr.Power = 0x00; + IoToAvr.PwmFreq = 0x00; + Result = TRUE; + } + + return (Result); +} + + +void dPowerSelect(void) +{ + POWERSelect; +} + + +UWORD dPowerConvert(void) +{ + UWORD Result; + + POWERConvert(Result); + + return (Result); +} + + +void dPowerDeselect(void) +{ + POWERDeselect; +} + + +void dPowerWriteOn(UBYTE On) +{ + if (On == TRUE) + { + POWEROn; + } + else + { + POWEROff; + } +} + + +void dPowerHigh(void) +{ + POWERHigh; +} + + +void dPowerFloat(void) +{ + POWERFloat; +} + + +void dPowerExit(void) +{ + POWERExit; +} -- cgit v1.2.3