nettoyage

This commit is contained in:
tzim 2019-10-22 00:56:22 +02:00
parent 87a086b435
commit 89f9ffae7e
2 changed files with 23 additions and 79 deletions

View file

@ -46,11 +46,11 @@
# $Id$ # $Id$
#Bootloader Port #Bootloader Port
#PORT = /dev/serial/by-id/usb-Arduino__www.arduino.cc__Arduino_Mega_2560_6493534363335111A032-if00 PORT = /dev/serial/by-id/usb-Arduino_LLC_Arduino_Micro-if00
PORT = /dev/ttyACM0 #PORT = /dev/ttyACM0
# /dev/serial/by-id/usb-Arduino_LLC_Arduino_Micro-if00 # /dev/serial/by-id/usb-Arduino_LLC_Arduino_Micro-if00
#Device Port (for autoreset) #Device Port (for autoreset)
RESETPORT = /dev/ttyU0 #RESETPORT = /dev/ttyU0
#/dev/serial/by-id/usb-Loupiottes.fr_DMXv3_Micro-if00 #/dev/serial/by-id/usb-Loupiottes.fr_DMXv3_Micro-if00
@ -99,10 +99,10 @@ LDFLAGS = -lm -Wl,--gc-sections
# Programming support using avrdude. Settings and variables. # Programming support using avrdude. Settings and variables.
AVRDUDE_PROGRAMMER = avr109 AVRDUDE_PROGRAMMER = avrisp
AVRDUDE_PORT = $(PORT) AVRDUDE_PORT = $(PORT)
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex:i AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex:i
AVRDUDE_FLAGS = -D -p m32u4 -P$(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) AVRDUDE_FLAGS = -p m32 -P$(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
# Program settings # Program settings
CC = avr-gcc CC = avr-gcc

92
main.c
View file

@ -24,7 +24,6 @@ void _lcd();
void _radio(); void _radio();
uint8_t radiobuffer[32]; uint8_t radiobuffer[32];
enum { SRX, STX,SOFF } radiostate;
volatile uint8_t skip_sleep; volatile uint8_t skip_sleep;
volatile uint8_t t_lcd=0,t_radio=0; volatile uint8_t t_lcd=0,t_radio=0;
@ -44,8 +43,23 @@ void setup(void)
USBCON=0; USBCON=0;
#endif #endif
// Setup ports
// Port A => Input, no pull-ups
DDRA = 0; PORTA=0;
// Port B => Input, Pull up on INT2(PB2) , SLAVE-SELECT (PB3)
DDRB = 0; PORTB = _BV(PB2)|_BV(PB3);
// Port C => All outputs Low
PORTC=0; DDRC=0xFF;
// Port D => Output : BATT_ENABLE (PD6), pullup on (PD2-4)
PORTD= _BV(PD2)|_BV(PD3)|_BV(PD4);
lcd_init(20,4); lcd_init(20,4);
lcd_backlight(0); lcd_backlight(1);
lcd_clear(); lcd_clear();
lcd_home(); lcd_home();
lcd_display(); lcd_display();
@ -54,36 +68,9 @@ void setup(void)
spi_init_master(); spi_init_master();
_delay_ms(500); _delay_ms(500);
lcd_setCursor(3,2); lcd_setCursor(3,2);
lcdprint("Init Radio"); lcdprint("Init");
while (1){
_delay_ms(500);
rf24_setup();
rf24_init();
rf24_update_status();
if(rf24_status==0x0E)
break;
lcd_setCursor(1,2);
lcdprint("Radio Error ! ");
_delay_ms(500);
}
lcd_setCursor(1,2);
lcdprint("Radio Ok ! ");
_delay_ms(1500);
lcd_clear();
radiostate=SOFF;
#if defined(__AVR_ATmega32A__)
GICR|=_BV(INT2); GICR|=_BV(INT2);
#elif defined(__AVR_ATmega32U4__)
EICRA=_BV(ISC21);
EIMSK=_BV(INT2);
#endif
// Timer1 => 5ms // Timer1 => 5ms
#if F_CPU == 8000000UL #if F_CPU == 8000000UL
@ -116,9 +103,7 @@ void loop(void)
{ {
skip_sleep=0; skip_sleep=0;
_radio();
_lcd();
if(!skip_sleep){ if(!skip_sleep){
set_sleep_mode(SLEEP_MODE_IDLE); set_sleep_mode(SLEEP_MODE_IDLE);
@ -129,51 +114,10 @@ void loop(void)
ISR(TIMER1_COMPA_vect){ ISR(TIMER1_COMPA_vect){
skip_sleep=1; skip_sleep=1;
if(t_lcd) t_lcd--;
} }
ISR(INT2_vect){ ISR(INT2_vect){
skip_sleep=1; skip_sleep=1;
} }
void _radio(){
switch(radiostate){
case SOFF:
rf24_RXMode();
radiostate = SRX;
break;
case STX:
if(!t_radio){
rf24_flushTX();
rf24_RXMode();
radiostate = SRX;
}
if(rf24_TXDone()){
rf24_RXMode();
radiostate = SRX;
}
break;
case SRX:
if(rf24_receive(radiobuffer)){
lcd_setCursor(0,1);
debughex(radiobuffer,8);
}
break;
}
}
void _lcd() {
if(!t_lcd){
t_lcd=200;
lcd_setCursor(0,0);
if(p)
lcdprint("**");
else
lcdprint(" ");
p=p?0:1;
}
}