allow correct building/syntax highlighting on desktop

This commit is contained in:
Jeff Wang 2019-03-31 19:32:36 -04:00
parent 4ed3d1654e
commit d1ec11cad8
4 changed files with 42 additions and 7 deletions

View File

@ -5,6 +5,7 @@
*/
#include "decn/decn.h"
#include "utils.h"
#define STACK_SIZE 4 //must be a power of 2
@ -52,6 +53,8 @@ static void do_binary_op(void (*f_ptr)(dec80*, const dec80*)){
}
void process_cmd(char cmd){
//turn off backlight before start of processing
backlight_off();
//process cmd
switch(cmd){
//////////

View File

@ -29,8 +29,8 @@ volatile uint8_t NewKeyEmpty;
#define INCR_NEW_KEY_I(i) i = (i + 1) & 3
volatile uint8_t SecCount;
void timer0_isr() __interrupt 1 __using 1
//#define TRACK_TIME
void timer0_isr() SDCC_ISR(1,1)
{
#ifdef TRACK_TIME
static uint8_t count = 0;
@ -71,6 +71,10 @@ void timer0_isr() __interrupt 1 __using 1
}
#ifdef DESKTOP
void Timer0Init(void) { }
static void latch_on(void){ }
#else
// Call timer0_isr() 200/sec: 5 ms period
// Initialize the timer count so that it overflows after 0.01 sec
// THTL = 0x10000 - FOSC / 200 = 0x10000 - 115830 = 7621 = 0x1DC5
@ -87,6 +91,7 @@ void Timer0Init(void)
EA = 1; // Enable global interrupt
}
#endif //!DESKTOP
char Buf[DECN_BUF_SIZE];
@ -118,6 +123,8 @@ int main()
#ifdef DEBUG_UPTIME
uint32_t i;
#endif
latch_on();
Timer0Init(); // display refresh & switch read
LCD_Open();
KeyInit();
@ -127,6 +134,7 @@ int main()
P3_2 = 1; //latch on
P3M1 &= ~(0x4);
P3M0 |= (0x4);
BACKLIGHT_ON(); //turn on led backlight
#ifdef DEBUG_UPTIME
i = 0;
@ -134,6 +142,11 @@ int main()
// LOOP
while (1)
{
//turn off?
if (Keys[0] == 8 && Keys[4] == 8){
TURN_OFF();
}
LCD_GoTo(0,0);
#ifdef DEBUG_UPTIME
u32str(i++, Buf, 10);
@ -155,11 +168,6 @@ int main()
for (key_i = 0; key_i < 5; key_i++){
LCD_OutNibble(keys[key_i]);
}
//turn off?
if (keys[0] == 8 && keys[4] == 8){
P3_2 = 0;
}
TERMIO_PutChar(',');
//counter
if (SecCount == 0){
@ -181,7 +189,6 @@ int main()
if (new_key_read_i == new_key_write_i){
NewKeyEmpty = 1;
}
#ifdef DEBUG_KEYS
LCD_GoTo(1,j);
#endif
@ -374,6 +381,8 @@ int main()
TERMIO_PutChar(ExpBuf[0] + '0');
}
LCD_ClearToEnd(1);
//turn backlight back on
BACKLIGHT_ON();
} //while (1)
}
/* ------------------------------------------------------------------------- */

View File

@ -1,4 +1,5 @@
#include <stdint.h>
#include "stc15.h"
#include "utils.h"
#ifdef DESKTOP
@ -11,6 +12,8 @@ void _delay_us(uint8_t us)
//TODO:
}
#endif
void backlight_off(void){ }
#else //!DESKTOP
void _delay_ms(uint8_t ms)
{
// delay function, tuned for 11.583 MHz clock
@ -49,6 +52,12 @@ void _delay_us(uint8_t us)
}
#endif
void backlight_off(void){
P3_4 = 1;
}
#endif //ifdef desktop
char* u32str(uint32_t x, char* buf, uint8_t base)
{
int i = 0, j;

View File

@ -18,6 +18,7 @@ void _delay_us(uint8_t us);
#define _delay_us(x) _delay_ms(1)
#endif
void backlight_off(void);
char* u32str(uint32_t x, char* buf, uint8_t base);
@ -30,5 +31,18 @@ char* u32str(uint32_t x, char* buf, uint8_t base);
#define DESKTOP
#endif
#if defined(DESKTOP) || defined(IS_ECLIPSE)
#define __xdata
#define __sfr
#define __at uint8_t*
#define SDCC_ISR(isr, reg)
#define BACKLIGHT_ON()
#define TURN_OFF()
#else
#define SDCC_ISR(isr, reg) __interrupt (isr) __using (reg)
#define BACKLIGHT_ON() P3_4 = 0
#define TURN_OFF() P3_2 = 0
#endif
#endif /* SRC_UTILS_H_ */