code formating

This commit is contained in:
mes 2021-04-10 13:29:47 +02:00
parent e04760f38e
commit d060bab8e8
1 changed files with 63 additions and 61 deletions

View File

@ -15,84 +15,86 @@
#pragma once #pragma once
//#include <Arduino.h> //#include <Arduino.h>
//This device needs a lin interface to read and write on //This class needs a lin interface to read and write on
#include <Lin_Interface.hpp> #include <Lin_Interface.hpp>
#define LIN_BAUDRATE_IBS_SENSOR 19200 #define LIN_BAUDRATE_IBS_SENSOR 19200
class IBS_Sensor { class IBS_Sensor
public: {
// Batery types public:
enum IBS_BatteryTypes { // Batery types
BAT_TYPE_STARTER, enum IBS_BatteryTypes
BAT_TYPE_GEL, {
BAT_TYPE_AGM BAT_TYPE_STARTER,
}; BAT_TYPE_GEL,
BAT_TYPE_AGM
};
// constructor // constructor
IBS_Sensor(int SensorNo); IBS_Sensor(int SensorNo);
// Lin Interface will be used to send and request frames // Lin Interface will be used to send and request frames
Lin_Interface *LinBus; Lin_Interface *LinBus;
// Frame "Status" // Frame "Status"
bool StatusReady = false; // ready for Data Request? bool StatusReady = false; // ready for Data Request?
uint8_t StatusByte = 0x00; // provides at least a StatusReady flag, but the is more encoded uint8_t StatusByte = 0x00; // provides at least a StatusReady flag, but the is more encoded
// Frame "Current" // Frame "Current"
float Ibat = 0.0; // Current in Ampere float Ibat = 0.0; // Current in Ampere
float Ubat = 0.0; // Battery Voltage in Volt float Ubat = 0.0; // Battery Voltage in Volt
float Tbat = 0.0; // Battery Temperature in Celsius float Tbat = 0.0; // Battery Temperature in Celsius
uint8_t unknown1 = 0x00; uint8_t unknown1 = 0x00;
// Frame "Error", flags / code unknown // Frame "Error", flags / code unknown
uint8_t ErrorByte = 0x00; // Error code/flags? uint8_t ErrorByte = 0x00; // Error code/flags?
// Frame "tb3", data unknown // Frame "tb3", data unknown
uint16_t unknown2; uint16_t unknown2 = 0;
uint16_t unknown3; uint16_t unknown3 = 0;
// Frame "SOx", mayby includes State of Functon? // Frame "SOx", mayby includes State of Functon?
float SOH = -1.0; // procides State of Healt in percent float SOH = -1.0; // State of Health in percent (need replace?)
float SOC = -1.0; // procides State of Charge in percent float SOC = -1.0; // State of Charge in percent (need charge?)
uint8_t unknown4; uint8_t unknown4 = 0;
uint8_t unknown5; uint8_t unknown5 = 0;
uint16_t unknown6; uint16_t unknown6 = 0;
// Frame "Capacity" // Frame "Capacity"
float Cap_Max = 0.0; // max seen capacity float Cap_Max = 0.0; // max seen capacity (eq. SOH)
float Cap_Available = 0.0; // max available capacity, means charge level float Cap_Available = 0.0; // max available capacity (eq. SOC)
uint8_t Cap_Configured = 0; // configured battery capacity uint8_t Cap_Configured = 0; // configured battery capacity
bool CalibrationDone = false; // data may plausible, but sensor has still some doubts bool CalibrationDone = false; // data may plausible, but sensor has still some doubts
uint8_t CalibByte = 0x00; // Capacity flag byte, may only contains CalibrationDone flag uint8_t CalibByte = 0x00; // Capacity flag byte, may only contains CalibrationDone flag
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Request current valus form sensor // Request current valus form sensor
// regular read // regular read
bool readFrames(); bool readFrames();
// specific read of Frame // specific read of Frame
bool readFrameStatus(); bool readFrameStatus();
bool readFrameCurrent(); bool readFrameCurrent();
bool readFrameError(); bool readFrameError();
bool readFrameSOx(); bool readFrameSOx();
bool readFrameCapacity(); bool readFrameCapacity();
bool readFrameTB3(); bool readFrameTB3();
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// configuration of Sensor - only needed once: data will be stored in sensor // configuration of Sensor - only needed once: data will be stored in sensor
//configuration of sensor //configuration of sensor
void writeConfiguration(IBS_BatteryTypes BatType, uint8_t BatCapacity); void writeConfiguration(IBS_BatteryTypes BatType, uint8_t BatCapacity);
// all known configuraton Frames, used by original Panel // all known configuraton Frames, used by original Panel
void writeUnknownParam(); void writeUnknownParam();
void writeBatCapacity(uint8_t BatCapacity); void writeBatCapacity(uint8_t BatCapacity);
void writeBatType(IBS_BatteryTypes BatType); void writeBatType(IBS_BatteryTypes BatType);
private: private:
// SensorNo = 0 --> Hella IBS 200 labeled "Sensor 1" // SensorNo = 0 --> Hella IBS 200 labeled "Sensor 1"
// SensorNo = 1 --> Hella IBS 200 labeled "Sensor 2" // SensorNo = 1 --> Hella IBS 200 labeled "Sensor 2"
int _SensorNo; int _SensorNo;
}; };