carboard: rename from hello
authorTero Marttila <terom@paivola.fi>
Thu, 25 Sep 2014 01:00:08 +0300
changeset 4 d0f29c45fe52
parent 3 87dd3b72b024
child 5 5c86d54080c1
carboard: rename from hello
Makefile
src/carboard.c
src/hello.c
--- a/Makefile	Thu Sep 25 00:56:54 2014 +0300
+++ b/Makefile	Thu Sep 25 01:00:08 2014 +0300
@@ -1,11 +1,11 @@
 QMSK_ARDUINO = qmsk
 
-PROG = hello
+PROG = carboard
 
 ELF = build/src/$(PROG).elf
 HEX = build/src/$(PROG).hex
 
-build/src/hello.elf: build/src/hello.o \
+build/src/carboard.elf: build/src/carboard.o \
 	build/qmsk/src/serial.o \
 	build/qmsk/src/switch.o \
 	build/qmsk/src/timer.o
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/carboard.c	Thu Sep 25 01:00:08 2014 +0300
@@ -0,0 +1,111 @@
+#include <avr/interrupt.h>
+#include <avr/io.h>
+
+#include "stdlib.h"
+
+#define DEBUG_DDR DDRB
+#define DEBUG_PIN 5
+#define DEBUG_PORT PORTB
+
+/* Relay outputs */
+#define RELAY_DDR DDRC
+#define RELAY_PORT PORTC
+#define RELAY_PIN PINC
+#define RELAY_PINS 4
+
+#define RELAY_DOWN1 0
+#define RELAY_DOWN2 1
+#define RELAY_LEFT  2
+#define RELAY_RIGHT 3
+
+/* Switch inputs */
+static ioport_t *const SWITCH_DDR = &DDRD;
+static ioport_t *const SWITCH_PORT = &PORTD;
+static ioport_t *const SWITCH_PIN = &PIND;
+static ioport_t *const SWITCH_PCMSK = &PCMSK2;
+static const byte SWITCH_PCIE = PCIE2;
+static const byte SWITCH_PCIF = PCIF2;
+
+enum switch_bits {
+    SWITCH_LEFT         = 0b00000100,
+    SWITCH_RIGHT        = 0b00001000,
+    SWITCH_HORN1        = 0b00010000,
+    SWITCH_HORN2        = 0b00100000,
+
+    SWITCH_MASK         = 0b00111100,
+};
+
+#include "debug.h"
+#include "relay.h"
+#include "serial.h"
+#include "switch.h"
+#include "timer.h"
+
+int main (void)
+{
+    debug_init();
+    relay_init(RELAY_PINS);
+    serial_init(SERIAL_BAUD_9600, SERIAL_PARITY_N, SERIAL_STOPBITS_1);
+    switch_init();
+    timer_init();
+
+    // init
+    char c = '.';
+    byte s;
+    unsigned short timeout = 8000;
+
+    debug_set();
+    sei();
+
+    // start
+    while (true) {
+        c = s = 0;
+
+        if (timer_sleep(timeout)) {
+            c = '.';
+        } else if ((c = serial_read())) {
+            switch (c) {
+                case 'L':       relay_open(RELAY_LEFT); break;
+                case 'R':       relay_open(RELAY_RIGHT); break;
+                case 'B':
+                                relay_open(RELAY_DOWN1);
+                                relay_open(RELAY_DOWN2);
+                                break;
+
+                case 'l':       relay_toggle(RELAY_LEFT); break;
+                case 'r':       relay_toggle(RELAY_RIGHT); break;
+                case 'b':
+                                relay_close(RELAY_DOWN1);
+                                relay_close(RELAY_DOWN2);
+                                break;
+
+                default:
+                    c = '!';
+                    break;
+            }
+        } else if (switch_read(&s)) {
+            c = '*';
+
+            if (s & SWITCH_LEFT)
+                c = 'l';
+
+            if (s & SWITCH_RIGHT)
+                c = 'r';
+
+            if (s & SWITCH_HORN1)
+                c = 'h';
+
+            if (s & SWITCH_HORN2)
+                c = 'h';
+
+        } else {
+            // XXX: for some reason this occasionally gets stuck in an interrupt loop here after some switch events..
+            c = '?';
+        }
+
+        // out
+        debug_toggle();
+
+        serial_write(c);
+    }
+}
--- a/src/hello.c	Thu Sep 25 00:56:54 2014 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-#include <avr/interrupt.h>
-#include <avr/io.h>
-
-#include "stdlib.h"
-
-#define DEBUG_DDR DDRB
-#define DEBUG_PIN 5
-#define DEBUG_PORT PORTB
-
-/* Relay outputs */
-#define RELAY_DDR DDRC
-#define RELAY_PORT PORTC
-#define RELAY_PIN PINC
-#define RELAY_PINS 4
-
-#define RELAY_DOWN1 0
-#define RELAY_DOWN2 1
-#define RELAY_LEFT  2
-#define RELAY_RIGHT 3
-
-/* Switch inputs */
-static ioport_t *const SWITCH_DDR = &DDRD;
-static ioport_t *const SWITCH_PORT = &PORTD;
-static ioport_t *const SWITCH_PIN = &PIND;
-static ioport_t *const SWITCH_PCMSK = &PCMSK2;
-static const byte SWITCH_PCIE = PCIE2;
-static const byte SWITCH_PCIF = PCIF2;
-
-enum switch_bits {
-    SWITCH_LEFT         = 0b00000100,
-    SWITCH_RIGHT        = 0b00001000,
-    SWITCH_HORN1        = 0b00010000,
-    SWITCH_HORN2        = 0b00100000,
-
-    SWITCH_MASK         = 0b00111100,
-};
-
-#include "debug.h"
-#include "relay.h"
-#include "serial.h"
-#include "switch.h"
-#include "timer.h"
-
-int main (void)
-{
-    debug_init();
-    relay_init(RELAY_PINS);
-    serial_init(SERIAL_BAUD_9600, SERIAL_PARITY_N, SERIAL_STOPBITS_1);
-    switch_init();
-    timer_init();
-
-    // init
-    char c = '.';
-    byte s;
-    unsigned short timeout = 8000;
-
-    debug_set();
-    sei();
-
-    // start
-    while (true) {
-        c = s = 0;
-
-        if (timer_sleep(timeout)) {
-            c = '.';
-        } else if ((c = serial_read())) {
-            switch (c) {
-                case 'L':       relay_open(RELAY_LEFT); break;
-                case 'R':       relay_open(RELAY_RIGHT); break;
-                case 'B':
-                                relay_open(RELAY_DOWN1);
-                                relay_open(RELAY_DOWN2);
-                                break;
-
-                case 'l':       relay_toggle(RELAY_LEFT); break;
-                case 'r':       relay_toggle(RELAY_RIGHT); break;
-                case 'b':
-                                relay_close(RELAY_DOWN1);
-                                relay_close(RELAY_DOWN2);
-                                break;
-
-                default:
-                    c = '!';
-                    break;
-            }
-        } else if (switch_read(&s)) {
-            c = '*';
-
-            if (s & SWITCH_LEFT)
-                c = 'l';
-
-            if (s & SWITCH_RIGHT)
-                c = 'r';
-
-            if (s & SWITCH_HORN1)
-                c = 'h';
-
-            if (s & SWITCH_HORN2)
-                c = 'h';
-
-        } else {
-            // XXX: for some reason this occasionally gets stuck in an interrupt loop here after some switch events..
-            c = '?';
-        }
-
-        // out
-        debug_toggle();
-
-        serial_write(c);
-    }
-}