working SUS in externally clocked mode
This commit is contained in:
@ -3,6 +3,12 @@
|
||||
|
||||
namespace SUS {
|
||||
|
||||
/**
|
||||
* The MAX1227 in externally clocked mode did not properly work with frequencies higher than
|
||||
* 1 MHz.
|
||||
*/
|
||||
static const uint32_t SUS_MAX_1227_SPEED = 1000000;
|
||||
|
||||
static const DeviceCommandId_t NONE = 0x0; // Set when no command is pending
|
||||
|
||||
/**
|
||||
@ -10,9 +16,9 @@ namespace SUS {
|
||||
* temperature sensor.
|
||||
*/
|
||||
static const DeviceCommandId_t WRITE_SETUP = 0x1;
|
||||
static const DeviceCommandId_t PERFORM_CONVERSIONS = 0x2;
|
||||
static const DeviceCommandId_t READ_TEMP = 0x3;
|
||||
static const DeviceCommandId_t RQUEST_TEMP = 0x4;
|
||||
static const DeviceCommandId_t READ_CHANNELS = 0x2;
|
||||
static const DeviceCommandId_t READ_TEMPERATURE = 0x3;
|
||||
static const DeviceCommandId_t REQUEST_TEMPERATURE = 0x4;
|
||||
|
||||
/**
|
||||
* @brief This is the configuration byte which will be written to the setup register after
|
||||
@ -47,21 +53,28 @@ namespace SUS {
|
||||
|
||||
static const uint8_t DUMMY_BYTE = 0x0;
|
||||
|
||||
static const uint8_t SUS_DATA_SET_ID = PERFORM_CONVERSIONS;
|
||||
static const uint8_t SUS_DATA_SET_ID = READ_CHANNELS;
|
||||
|
||||
static const uint8_t SIZE_PERFORM_CONVERSIONS = 34;
|
||||
/** Size of data replies */
|
||||
static const uint8_t SIZE_READ_CHANNELS = 13;
|
||||
static const uint8_t SIZE_READ_TEMPERATURE = 25;
|
||||
|
||||
static const uint8_t MAX_CMD_SIZE = SIZE_PERFORM_CONVERSIONS;
|
||||
static const uint8_t MAX_CMD_SIZE = SIZE_READ_TEMPERATURE;
|
||||
|
||||
static const uint8_t POOL_ENTRIES = 7;
|
||||
|
||||
|
||||
enum Max1227PoolIds: lp_id_t {
|
||||
TEMPERATURE_C,
|
||||
DIFF_SCAN_CHANNEL_0_1,
|
||||
DIFF_SCAN_CHANNEL_2_3,
|
||||
DIFF_SCAN_CHANNEL_4_5,
|
||||
AIN0,
|
||||
AIN1,
|
||||
AIN2,
|
||||
AIN3,
|
||||
AIN4,
|
||||
AIN5,
|
||||
};
|
||||
|
||||
class SusDataset: public StaticLocalDataSet<sizeof(float)> {
|
||||
class SusDataset: public StaticLocalDataSet<POOL_ENTRIES> {
|
||||
public:
|
||||
|
||||
SusDataset(HasLocalDataPoolIF* owner) :
|
||||
@ -73,9 +86,12 @@ public:
|
||||
}
|
||||
|
||||
lp_var_t<float> temperatureCelcius = lp_var_t<float>(sid.objectId, TEMPERATURE_C, this);
|
||||
lp_var_t<uint16_t> diffScanChannel0_1 = lp_var_t<uint16_t>(sid.objectId, DIFF_SCAN_CHANNEL_0_1, this);
|
||||
lp_var_t<uint16_t> diffScanChannel2_3 = lp_var_t<uint16_t>(sid.objectId, DIFF_SCAN_CHANNEL_2_3, this);
|
||||
lp_var_t<uint16_t> diffScanChannel4_5 = lp_var_t<uint16_t>(sid.objectId, DIFF_SCAN_CHANNEL_4_5, this);
|
||||
lp_var_t<uint16_t> ain0 = lp_var_t<uint16_t>(sid.objectId, AIN0, this);
|
||||
lp_var_t<uint16_t> ain1 = lp_var_t<uint16_t>(sid.objectId, AIN1, this);
|
||||
lp_var_t<uint16_t> ain2 = lp_var_t<uint16_t>(sid.objectId, AIN2, this);
|
||||
lp_var_t<uint16_t> ain3 = lp_var_t<uint16_t>(sid.objectId, AIN3, this);
|
||||
lp_var_t<uint16_t> ain4 = lp_var_t<uint16_t>(sid.objectId, AIN4, this);
|
||||
lp_var_t<uint16_t> ain5 = lp_var_t<uint16_t>(sid.objectId, AIN5, this);
|
||||
};
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user