Skip to content
Snippets Groups Projects
Select Git revision
  • 678dca50270b8b1b5515afee98e3139b6277114d
  • master default protected
  • nrs1g15-experiemental
  • Integrated-can-sd-board
4 results

sufst-openlogger_controller.ino

Blame
  • sufst-openlogger_controller.ino 1.68 KiB
    #define DEBUG_ECU_CAN 0
    #define DEBUG_ECU_CAN_MINIMAL 0
    
    #include "openLoggerController.h"
    #include "ecuCan.h"
    #include "can.h"
    
    // Watchdog
    #include <avr/wdt.h>
    
    #define OPENLOGGER_SERIAL_BUAD_RATE 115200
    
    uint8_t arduinoProcessSerial();
    
    void setup()
    {
        // put your setup code here, to run once:
    
    
        // Serial port for host pc communications
        Serial.begin(115200);
    
        Serial.println("BEGIN");
    
        // Openlogger runs on uart port TX1 RX1 (Serial1)
        openloggerBegin(OPENLOGGER_SERIAL_BUAD_RATE);
    
        //canBegin();
    }
    
    void loop()
    {
        // put your main code here, to run repeatedly:
    
        /*
       * ALL PROCESSES *MUST* BE NON BLOCKING
       */
        unsigned long currMs = millis();
    
        static unsigned long lastSdWriteMs = millis();
    
        static uint16_t cnt = 0;
    
        static CanMsgTemplate emulateCanMsg;
    
        emulateCanMsg.len = 8;
    
        if ((currMs - lastSdWriteMs) >= 20) {
    
            emulateCanMsg.timestamp = millis();
    
            emulateCanMsg.data16[0] = cnt++;
            emulateCanMsg.data16[1] = cnt++;
            emulateCanMsg.data16[2] = cnt++;
            emulateCanMsg.data16[3] = cnt++;
    
            emulateCanMsg.id = 0x2000;
    
            ecuCanMsg0x2000(&emulateCanMsg);
    
            emulateCanMsg.id = 0x2002;
    
            ecuCanMsg0x2002(&emulateCanMsg);
    
            lastSdWriteMs = millis();
        }
    
        wdt_reset();
    
        openloggerProcess();
        arduinoProcessSerial();
        //canProcessRx();
        //canProcessTx();
    
    }
    
    uint8_t arduinoProcessSerial()
    {
        if (Serial.available()) {
    
            uint8_t serialByte = Serial.read();
    
            switch (serialByte) {
                case 'g':openloggerBeginWrites();
    
                    break;
    
                case 's':openloggerStopWrites();
    
                    break;
            }
        }
    
        return 1;
    }