OSDN Git Service

[v2.0][RENC] Try to reject click-noise, may be correct ;_;
[openi2cradio/OpenI2CRadio.git] / power.c
diff --git a/power.c b/power.c
index 3d3c060..7ece052 100644 (file)
--- a/power.c
+++ b/power.c
@@ -31,6 +31,7 @@
 #include "power.h"
 #include "menu.h"
 #include "backlight.h"
+#include "rencoder.h"
 
 /*
  * Detect reset condition.
@@ -92,9 +93,9 @@ void power_on_inthook(void)
 void power_on(unsigned char f)
 {
     if(f == 0x00){
-        set_examp_mute(0xff);
-        idle_time_ms(200);
-        set_radiopower(0x00);
+       set_radiopower(0x00);
+       set_examp_mute(0xff);
+//        idle_time_ms(200);
     } else {
         set_examp_mute(0x00);
         idle_time_ms(100);
@@ -140,7 +141,9 @@ unsigned char chk_powerbutton(void)
 void shutdown(unsigned char savef)
 {
     rfamp_power(RFAMP_OFF);
+    power_on(0);
     acm1602_suspend(LCD_I2CADDR);
+    lcd_setbacklight(0, 0);
     power_off(savef);
 }
 
@@ -149,17 +152,17 @@ void power_off(unsigned char savef)
     unsigned char sts;
 
     if(savef != 0) {
+
         save_eeprom();
         save_userbands();
     }
-    lcd_setbacklight(0, 0);
     set_powerlamp(0);
     _AM_STATLAMP = 0;
     _FM_STATLAMP = 0;
-    power_on(0);
 
     WDTCONbits.SWDTEN = 0; // Lame WDT OFF.
     sts = 0;
+    rencoder_stop();
     do {
         RCONbits.IPEN = 1;
         IOCB = 0x10; // IOCB4 ONLY.