* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*/
-
+#include "commondef.h"
#include "ioports.h"
#include <signal.h>
unsigned char statecount;
-void set_amlamp(unsigned char f)
+void set_amfmlamp(unsigned char f)
{
if(f == 0x00) {
_AM_STATLAMP = 0;
+ _FM_STATLAMP = 1;
} else {
_AM_STATLAMP = 1;
+ _FM_STATLAMP = 0;
}
}
-void set_fmlamp(unsigned char f)
+
+void set_examp_mute(unsigned char f)
{
if(f == 0x00) {
- _FM_STATLAMP = 0;
+ _PORT_MUTE = 1; // 20130709 Not Mute
} else {
- _FM_STATLAMP = 1;
+ _PORT_MUTE = 0;
}
+ idle_time_ms(200);
}
-
-void set_powerlamp(unsigned char f)
+void set_radiopower(unsigned char f)
{
if(f == 0x00) {
- _POW_STATLAMP = 0;
+ _PORT_RADIOPOW = 0; // OFF
} else {
- _POW_STATLAMP = 1;
+ _PORT_RADIOPOW = 1; // ON
}
}
-void lcd_setbacklight(unsigned char flag, unsigned char level)
+void set_powerlamp(unsigned char f)
{
- unsigned char b;
-#if 1
- b = _LCD_PORT;
- if(flag == 0){
- b &= ~_LCD_BACKLIGHT;
- } else {
- b |= _LCD_BACKLIGHT;
- }
- _LCD_PORT = b;
-#else
- if(flag == 0) {
- T2CONbits.TMR2ON = 0;
- TMR2 = 0x00;
- CCP1CON &= 0x00;
- CCPR1L = 0;
+ if(f == 0x00) {
+ _POW_STATLAMP = 0;
} else {
- unsigned char h,l;
- unsigned char b;
- if(level > 100) level = 100;
- h = (level & 0xfc) >> 2;
- l = (level & 0x03) << 4;
- b = CCP1CON & 0x0c;
- b = b | 0x0c | l;
- CCPR1L = h;
- TMR2 = 0x00;
- CCPR1L = h;
- T2CONbits.TMR2ON = 1;
-// _LCD_PORT |= _LCD_BACKLIGHT;
+ _POW_STATLAMP = 1;
}
-#endif
}
+
void TMR3_set(void)
{
TMR3L = 1000 & 0xff;
TMR3_set();
}
-void lcd_backlightinit(void)
-{
-#if 0
- PSTRCON = 0b00000001; // P1A = PWM, P1B~P1D=PORT, Steeling sync to PWM.
- CCP1CON = 0b00001100; // PWM, Low-Active.
- ECCP1AS = 0b10000111; // Auto shutdown is disabled
- // Use TMR2 as source.
- PIE1 &= ~0b00000010; // TMR2 Interrupt disabled.
- PIR1 &= ~0b00000010; // TMR2 Interrupt clear.
- IPR1 &= ~0b00000010; // Priority = LOW
- T2CON = 0b00000011; // Prescaler/Postscaler = 1:1, Temporally disabled TMR2.
- TMR2 = 0x00; // Value;
- PR2 = 0x65; // 19.61KHz
- CCPR1L = 100; // Duty = 100;
-#endif
-}
-#if defined(pic18f23k22) || defined(pic18f24k22) || defined(pic18f25k22) || defined(pic18f26k22)
+#if defined(pic18f23k22) || defined(pic18f24k22) || defined(pic18f25k22) || defined(pic18f26k22) || \
+ defined(_18F23K22) || defined(_18F24K22) || defined(_18F25K22) || defined(_18F26K22)
+
/*
* For 28Pin PIC(18F2xK22), I2C lcd using.
*/
LATC = 0x00;
ANSELC = AN_C_VAL;
TRISC = TRIS_C_VAL_O;
- lcd_backlightinit();
- io_intcountinit();
+ // lcd_backlightinit();
+// io_intcountinit();
}
#endif
-#if defined(pic18f23k20) || defined(pic18f24k20) || defined(pic18f25k20) || defined(pic18f26k20)
+#if defined(pic18f23k20) || defined(pic18f24k20) || defined(pic18f25k20) || defined(pic18f26k20) || \
+ defined(_18F23K20) || defined(_18F24K20) || defined(_18F25K20) || defined(_18F26K20)
+
/*
* For 28Pin PIC(18F2xK20), I2C lcd using.
*/
PORTC = 0x00;
LATC = 0x00;
TRISC = TRIS_C_VAL_O;
- lcd_backlightinit();
+// lcd_backlightinit();
io_intcountinit();
}
#endif
-#if defined(pic18f43k20) || defined(pic18f44k20) || defined(pic18f45k20) || defined(pic18f46k20)
+#if defined(pic18f43k20) || defined(pic18f44k20) || defined(pic18f45k20) || defined(pic18f46k20) || \
+ defined(_18F43K20) || defined(_18F44K20) || defined(_18F45K20) || defined(_18F46K20)
+
/*
* For 40Pin PIC(18F4xK20), paralell or I2C lcd using.
*/
/* Initialize IOPORTS*/
PORTA = 0x00;
LATA = 0x00;
- ANSEL = 0x00; // Use RA0 AS ADC, Another is not used.
+ ANSEL = 0x80; // Use RA7 AS ADC, Another is not used.
ANSELH = 0x00; //
TRISA = TRIS_A_VAL;
LATD = 0x00;
TRISD = TRIS_D_VAL;
- PORTE = 0x00;
TRISE = TRIS_E_VAL;
+ PORTE = 0b00000000; // Mute OK
+
+ // Interrupts
INTCONbits.INT0IE = 0;
INTCONbits.INT0IF = 0;
INTCON3bits.INT1IF = 0;
INTCON3bits.INT1IE = 0;
INTCON3bits.INT2IE = 0;
- lcd_backlightinit();
+// lcd_backlightinit();
io_intcountinit();
}
#else
PORTC = 0x00;
LATC = 0x00;
TRISC = TRIS_C_VAL_O;
- lcd_backlightinit();
+// lcd_backlightinit();
io_intcountinit();
}
#endif
void readkey_io(unsigned char state)
{
char i;
- unsigned char portvar;
- unsigned char latchvar;
-
+ __bitops_t portvar;
+
switch(state) {
case 0:
for(i = 0; i < 2; i++){
keyin_old[0].byte[i] = keyin_now.byte[i];
keyin_now.byte[i] = 0x00;
}
- latchvar = _KEY_SENDPORT;
- latchvar |= _KEY_SENDPORTMASK;
- _KEY_SENDPORT = latchvar; // Group1 DOWN.
+ _KEY_SENDPORT |= _KEY_SENDPORTMASK; // Group1 DOWN.
break;
case 1:
- latchvar = _KEY_SENDPORT;
- latchvar &= ~_KEY_GRP1MASK;
- _KEY_SENDPORT = latchvar; // Group1 DOWN.
+ _KEY_SEND_GRP1 = 0; // Group1 DOWN.
break;
case 2:
- portvar = _KEY_RECVPORT;
- if((portvar & _KEY_POS1MASK) == 0) {
+ portvar.byte = _KEY_RECVPORT;
+ if(!_KEY_POS1MASK(portvar)) {
keyin_now.BIT0A = 1;
- } else {
- keyin_now.BIT0A = 0;
}
- if((portvar & _KEY_POS2MASK) == 0) {
+ if(!_KEY_POS2MASK(portvar)) {
keyin_now.BIT1A = 1;
- } else {
- keyin_now.BIT1A = 0;
}
- if((portvar & _KEY_POS3MASK) == 0) {
+ if(!_KEY_POS3MASK(portvar)) {
keyin_now.BIT2A = 1;
- } else {
- keyin_now.BIT2A = 0;
}
- if((portvar & _KEY_POS4MASK) == 0) {
+ if(!_KEY_POS4MASK(portvar)) {
keyin_now.BIT3A = 1;
- } else {
- keyin_now.BIT3A = 0;
}
- latchvar = _KEY_SENDPORT;
- latchvar |= _KEY_SENDPORTMASK;
- _KEY_SENDPORT = latchvar; // Group1 UP.
+ _KEY_SENDPORT |= _KEY_SENDPORTMASK; // Group1 DOWN.
break;
case 3:
- latchvar = _KEY_SENDPORT;
- latchvar &= ~_KEY_GRP2MASK;
- _KEY_SENDPORT = latchvar; // Group2 DOWN.
+ _KEY_SEND_GRP2 = 0; // Group2 DOWN.
break;
case 4:
- portvar = _KEY_RECVPORT;
- if((portvar & _KEY_POS1MASK) == 0) {
+ portvar.byte = _KEY_RECVPORT;
+ if(!_KEY_POS1MASK(portvar)) {
keyin_now.BIT0B = 1;
- } else {
- keyin_now.BIT0B = 0;
}
- if((portvar & _KEY_POS2MASK) == 0) {
+ if(!_KEY_POS2MASK(portvar)) {
keyin_now.BIT1B = 1;
- } else {
- keyin_now.BIT1B = 0;
}
- if((portvar & _KEY_POS3MASK) == 0) {
+ if(!_KEY_POS3MASK(portvar)) {
keyin_now.BIT2B = 1;
- } else {
- keyin_now.BIT2B = 0;
}
- if((portvar & _KEY_POS4MASK) == 0) {
+ if(!_KEY_POS4MASK(portvar)) {
keyin_now.BIT3B = 1;
- } else {
- keyin_now.BIT3B = 0;
}
- latchvar = _KEY_SENDPORT;
- latchvar |= _KEY_SENDPORTMASK;
- _KEY_SENDPORT = latchvar; // Group1 UP.
+ _KEY_SENDPORT |= _KEY_SENDPORTMASK; // Group1 DOWN.
break;
case 5:
- latchvar = _KEY_SENDPORT;
- latchvar &= ~_KEY_GRP3MASK;
- _KEY_SENDPORT = latchvar; // Group2 DOWN.
+ _KEY_SEND_GRP3 = 0; // Group1 DOWN.
break;
case 6:
- portvar = _KEY_RECVPORT;
- if((portvar & _KEY_POS1MASK) == 0) {
+ portvar.byte = _KEY_RECVPORT;
+ if(!_KEY_POS1MASK(portvar)) {
keyin_now.BIT0C = 1;
- } else {
- keyin_now.BIT0C = 0;
}
- if((portvar & _KEY_POS2MASK) == 0) {
+ if(!_KEY_POS2MASK(portvar)) {
keyin_now.BIT1C = 1;
- } else {
- keyin_now.BIT1C = 0;
}
- if((portvar & _KEY_POS3MASK) == 0) {
+ if(!_KEY_POS3MASK(portvar)) {
keyin_now.BIT2C = 1;
- } else {
- keyin_now.BIT2C = 0;
}
- if((portvar & _KEY_POS4MASK) == 0) {
+ if(!_KEY_POS4MASK(portvar)) {
keyin_now.BIT3C = 1;
- } else {
- keyin_now.BIT3C = 0;
}
- latchvar = _KEY_SENDPORT;
- latchvar |= _KEY_SENDPORTMASK;
- _KEY_SENDPORT = latchvar; // Group1 UP.
+ _KEY_SENDPORT |= _KEY_SENDPORTMASK; // Group1 DOWN.
break;
case 7:
- latchvar = _KEY_SENDPORT;
- latchvar &= ~_KEY_GRP4MASK;
- _KEY_SENDPORT = latchvar; // Group2 DOWN.
+ _KEY_SEND_GRP4 = 0; // Group4 up
break;
case 8:
- portvar = _KEY_RECVPORT;
- if((portvar & _KEY_POS1MASK) == 0) {
+ portvar.byte = _KEY_RECVPORT;
+ if(!_KEY_POS1MASK(portvar)) {
keyin_now.BIT0D = 1;
- } else {
- keyin_now.BIT0D = 0;
}
- if((portvar & _KEY_POS2MASK) == 0) {
+ if(!_KEY_POS2MASK(portvar)) {
keyin_now.BIT1D = 1;
- } else {
- keyin_now.BIT1D = 0;
}
- if((portvar & _KEY_POS3MASK) == 0) {
+ if(!_KEY_POS3MASK(portvar)) {
keyin_now.BIT2D = 1;
- } else {
- keyin_now.BIT2D = 0;
}
- if((portvar & _KEY_POS4MASK) == 0) {
+ if(!_KEY_POS4MASK(portvar)) {
keyin_now.BIT3D = 1;
- } else {
- keyin_now.BIT3D = 0;
}
- latchvar = _KEY_SENDPORT;
- latchvar |= _KEY_SENDPORTMASK;
- _KEY_SENDPORT = latchvar; // Group4 UP.
-
+ _KEY_SENDPORT |= _KEY_SENDPORTMASK; // Group1 DOWN.
break;
default:
break;