nettoyage
This commit is contained in:
parent
87a086b435
commit
89f9ffae7e
2 changed files with 23 additions and 79 deletions
10
Makefile
10
Makefile
|
|
@ -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
|
||||||
|
|
|
||||||
90
main.c
90
main.c
|
|
@ -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,37 +68,10 @@ 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
|
||||||
#define TIMERLOOP 5000
|
#define TIMERLOOP 5000
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue