summaryrefslogtreecommitdiff
path: root/n/es-2006/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'n/es-2006/src/main.c')
-rw-r--r--n/es-2006/src/main.c45
1 files changed, 44 insertions, 1 deletions
diff --git a/n/es-2006/src/main.c b/n/es-2006/src/main.c
index e94235f..334d77f 100644
--- a/n/es-2006/src/main.c
+++ b/n/es-2006/src/main.c
@@ -27,6 +27,7 @@
#include "io.h"
#include "modules/uart/uart.h"
#include "modules/proto/proto.h"
+#include "modules/uart/uart.h"
#include "modules/utils/utils.h"
#include "modules/utils/byte.h"
@@ -74,6 +75,9 @@ uint8_t lcd_key_enable, lcd_key_freq;
/* Enable stat for ack */
uint8_t main_ack_freq, main_ack_enable;
+/* Grub enable */
+uint16_t grub_enable;
+
/** Call when we receive some data from proto (uart) */
void
proto_callback (uint8_t cmd, uint8_t size, uint8_t *args)
@@ -198,8 +202,9 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args)
/* Grub ! */
case c ('G', 0):
+ grub_enable = 2000;
lcd_grub_booting ();
- break;
+ return;
/* tests primaires pour le barillet */
case c ('v',3):
@@ -391,6 +396,44 @@ main (void)
proto_send1b ('L', twi_buffer_read);
}
+ if (grub_enable)
+ {
+ uint8_t ret;
+ grub_enable--;
+ utils_delay_ms (4);
+ switch (ret = lcd_key ())
+ {
+ case 0x31:
+ /* NFS -> CR */
+ uart0_putc (10);
+ utils_delay_ms (4);
+ lcd_print (" ", 16);
+ utils_delay_ms (4);
+ lcd_print (">>> NFS <<<", 16);
+ grub_enable = 0;
+ break;
+ case 0x32:
+ /* Autonomous -> v CR */
+ uart0_putc ('v');
+ uart0_putc (10);
+ utils_delay_ms (4);
+ lcd_print (" ", 16);
+ utils_delay_ms (4);
+ lcd_print (">> Automous <<", 16);
+ grub_enable = 0;
+ break;
+ case 0x0:
+ if (!grub_enable)
+ {
+ lcd_print (" ", 16);
+ utils_delay_ms (4);
+ utils_delay_ms (4);
+ lcd_print ("> Default NFS <", 16);
+ }
+ }
+
+ }
+
/* gestion du barilet */
sequenceur_barillet ();