code formating
This commit is contained in:
parent
e04760f38e
commit
d060bab8e8
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue