From 56c502a57916f4fd4e6fd729a89dd8fab632be72 Mon Sep 17 00:00:00 2001 From: Michael Waiblinger Date: Sat, 11 Jun 2016 23:38:42 +0200 Subject: [PATCH] now with response and remote switching --- src/CANNode.cpp | 47 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/src/CANNode.cpp b/src/CANNode.cpp index ddc314e..fc65765 100644 --- a/src/CANNode.cpp +++ b/src/CANNode.cpp @@ -16,7 +16,7 @@ #define N_EVENTS 64 // size of events array #define N_SWITCHES 64 // size of switch array #define DEBUG 0 // 1 for noisy serial -#define LED 13 +#define LED 13 // Metro ticks in ms #define METRO_CAN_tick 1 #define METRO_OW_read_tick 20 @@ -55,7 +55,8 @@ static event_t events[N_EVENTS]; #define DEBUG_WRITE(a) #endif /* DEBUG */ -int led = LED; +uint8_t led = LED; +uint8_t state; // Metro Metro METRO_CAN = Metro(METRO_CAN_tick); Metro METRO_OW_read = Metro(METRO_OW_read_tick); @@ -69,8 +70,6 @@ uint8_t readout,trig_event,event_idx,tmp; OneWire OW_1(OW_pin); - - static CAN_message_t txmsg,rxmsg; static uint8_t hex[17] = "0123456789abcdef"; @@ -118,6 +117,11 @@ uint8_t read_DS2406(uint8_t* addr) { #endif /* DEBUG */ return tmp; } +uint8_t toggle_Pin(uint8_t pin){ + digitalWrite(pin, !digitalRead(pin)); + return digitalRead(pin); +} + // ------------------------------------------------------------- void setup(void) { @@ -142,9 +146,11 @@ void setup(void) events[0].telegram.buf[1] = 0xAD; events[1].id =0x02; events[1].telegram.id = 0x0204BEEF; - events[1].telegram.len = 2; - events[1].telegram.buf[0] = 0xBE; - events[1].telegram.buf[1] = 0xEF; + events[1].telegram.len = 4; + events[1].telegram.buf[0] = 0xDE; + events[1].telegram.buf[1] = 0xAD; + events[1].telegram.buf[2] = 0xBE; + events[1].telegram.buf[3] = 0xEF; //{ 0x02040608, 2, { 0xbe, 0xef }}}; @@ -241,17 +247,34 @@ void loop(void) // if frames were received, print the count if ( rxCount ) { //#if DEBUG - Serial.write('='); - Serial.print(rxCount); - Serial.print(",Hello="); + // Serial.write('='); + // Serial.print(rxCount); + Serial.print("GOT="); Serial.print(rxmsg.id,HEX); - //#endif + for (uint8_t i=0; i