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

dashController.cpp

  • dashController.cpp 847 B
    //
    // Created by Sil on 23/07/2019.
    //
    
    #include "dashController.h"
    #include "checksum.h"
    
    #define DASH_SERIAL_START_BYTE 0x55
    
    uint16_t gRpm = 0;
    
    uint16_t gWaterTemp = 0;
    
    void dashBegin()
    {
        DASH_SERIAL.begin(DASH_SERIAL_BAUD_RATE);
    }
    
    void dashEcuSetRpm(uint16_t rpm)
    {
    
        gRpm = rpm;
    }
    
    void dashEcuSetWaterTemp(uint16_t waterTemp)
    {
        gWaterTemp = waterTemp;
    }
    
    void dashControllerProcess()
    {
        uint32_t currentMs = millis();
    
        static uint32_t lastSerialMs = 0;
    
        if ((currentMs - lastSerialMs) >= DASH_REFRESH_MS) {
    
            static uint8_t serialPayload[6];
    
            serialPayload[0] = DASH_SERIAL_START_BYTE;
    
            memcpy(&(serialPayload[1]), &gWaterTemp, 2);
    
            memcpy(&(serialPayload[3]), &gRpm, 2);
    
            serialPayload[5] = crc_8(&(serialPayload[1]), 4);
    
            DASH_SERIAL.write(serialPayload, 6);
        }
    }