#include "lcd_acm1602.h"
#include "power.h"
#include "menu.h"
+#include "backlight.h"
/*
* Detect reset condition.
void power_on(unsigned char f)
{
if(f == 0x00){
- set_examp_mute(0xff);
- idle_time_ms(200);
set_radiopower(0x00);
+// idle_time_ms(200);
+ set_examp_mute(0xff);
} else {
set_examp_mute(0x00);
idle_time_ms(100);
return 0; // Not pressed
}
-void shutdown(unsigned char save)
+void shutdown(unsigned char save_v)
{
rfamp_power(RFAMP_OFF);
+ power_on(0);
acm1602_suspend(LCD_I2CADDR);
- power_off(save);
+ lcd_setbacklight(0, 0);
+ power_off(save_v);
}
-void power_off(unsigned char save)
+void power_off(unsigned char save_v)
{
unsigned char sts;
- if(save != 0) save_eeprom();
-
- lcd_setbacklight(0, 0);
- set_powerlamp(0);
+ if(save_v != 0) {
+ save_eeprom();
+// save_frequencies();
+ }
_AM_STATLAMP = 0;
_FM_STATLAMP = 0;
- power_on(0);
+ set_powerlamp(0);
WDTCONbits.SWDTEN = 0; // Lame WDT OFF.
sts = 0;
IOCB = 0x10; // IOCB4 ONLY.
OSCCONbits.IDLEN = 0; // Not Idle.
INTCON2bits.RBIP = 1; // Priority = HIGH;
- INTCON = 0b0000100;
+ INTCON = 0b00001000;
T0CONbits.TMR0ON = 0;
Sleep();
// Wake up