SatNOGS-COMMS  4.1.0
A COMMS subsystem for CubeSats
Loading...
Searching...
No Matches
emc1702.cpp File Reference
#include <cmath>
#include <satnogs-comms-lib/board.hpp>
#include <satnogs-comms-lib/emc1702.hpp>

Go to the source code of this file.

Namespaces

namespace  satnogs
namespace  satnogs::comms
namespace  satnogs::comms::lib

Macros

#define REG_STATUS   0x34
#define REG_HIGH_LIMIT_STATUS   0x35
#define REG_LOW_LIMIT_STATUS   0x36
#define REG_CRIT_LIMIT_STATUS   0x37
#define REG_INTERNAL_DIODE_HIGH_BYTE   0x38
#define REG_INTERNAL_DIODE_LOW_BYTE   0x39
#define REG_EXTERNAL_DIODE_HIGH_BYTE   0x3A
#define REG_EXTERNAL_DIODE_LOW_BYTE   0x3B
#define REG_AVERAGING_CONTROL   0x40
#define REG_CONFIGURATION   0x03
#define REG_CONVERSION_RATE   0x04
#define REG_INTERNAL_DIODE_HIGH_LIM   0x05
#define REG_INTERNAL_DIODE_LOW_LIM   0x06
#define REG_EXTERNAL_DIODE_HIGH_LIM_HIGH_BYTE   0x07
#define REG_EXTERNAL_DIODE_LOW_LIM_HIGH_BYTE   0x08
#define REG_EXTERNAL_DIODE_HIGH_LIM_LOW_BYTE   0x13
#define REG_EXTERNAL_DIODE_LOW_LIM_LOW_BYTE   0x14
#define REG_EXTERNAL_DIODE_TCRIT_LIM   0x19
#define REG_CHANNEL_MASK_REG   0x1F
#define REG_INTERNAL_DIODE_TCRIT_LIM   0x20
#define REG_TCRIT_HYSTERISIS   0x21
#define REG_TCRIT_CONSECUTIVE_ALERT   0x22
#define REG_EXTERNAL_DIODE_BETA_CONFIG   0x25
#define REG_EXTERNAL_DIODE_IDEALITY_FACTOR   0x25
#define REG_ONE_SHOT   0x0F
#define REG_EXTERNAL_DIODE_FAULT   0x1B
#define REG_PRODUCT_FEATURES   0xFC
#define REG_PRODUCT_ID   0xFD
#define REG_MICROCHIP_ID   0xFE
#define REG_REVISION   0xFF
#define VOLTAGE_SAMPLING_CONFIG   0x50
#define CURRENT_SENSE_SAMPLING_CONFIG   0x51
#define PEAK_DETECTION_CONFIG   0x52
#define SENCE_VOLTAGE_HIGH_BYTE   0x54
#define SENCE_VOLTAGE_LOW_BYTE   0x55
#define SOURCE_VOLTAGE_HIGH_BYTE   0x58
#define SOURCE_VOLTAGE_LOW_BYTE   0x59
#define POWER_RATIO_VOLTAGE_HIGH_BYTE   0x5B
#define POWER_RATIO_VOLTAGE_LOW_BYTE   0x5C
#define SENCE_VOLTAGE_HIGH_LIM   0x60
#define SENCE_VOLTAGE_LOW_LIM   0x61
#define SOURCE_VOLTAGE_HIGH_LIM   0x64
#define SOURCE_VOLTAGE_LOW_LIM   0x65
#define SENCE_VOLTAGE_V_CRIT   0x66
#define SOURCE_VOLTAGE_V_CRIT   0x68
#define SENSE_V_CRIT_HYSTERISIS   0x69
#define SOURCE_V_CRIT_HYSTERISIS   0x6A

Macro Definition Documentation

◆ CURRENT_SENSE_SAMPLING_CONFIG

#define CURRENT_SENSE_SAMPLING_CONFIG   0x51

Definition at line 65 of file emc1702.cpp.

◆ PEAK_DETECTION_CONFIG

#define PEAK_DETECTION_CONFIG   0x52

Definition at line 66 of file emc1702.cpp.

◆ POWER_RATIO_VOLTAGE_HIGH_BYTE

#define POWER_RATIO_VOLTAGE_HIGH_BYTE   0x5B

Definition at line 71 of file emc1702.cpp.

◆ POWER_RATIO_VOLTAGE_LOW_BYTE

#define POWER_RATIO_VOLTAGE_LOW_BYTE   0x5C

Definition at line 72 of file emc1702.cpp.

◆ REG_AVERAGING_CONTROL

#define REG_AVERAGING_CONTROL   0x40

Definition at line 42 of file emc1702.cpp.

◆ REG_CHANNEL_MASK_REG

#define REG_CHANNEL_MASK_REG   0x1F

Definition at line 52 of file emc1702.cpp.

◆ REG_CONFIGURATION

#define REG_CONFIGURATION   0x03

Definition at line 43 of file emc1702.cpp.

◆ REG_CONVERSION_RATE

#define REG_CONVERSION_RATE   0x04

Definition at line 44 of file emc1702.cpp.

◆ REG_CRIT_LIMIT_STATUS

#define REG_CRIT_LIMIT_STATUS   0x37

Definition at line 37 of file emc1702.cpp.

◆ REG_EXTERNAL_DIODE_BETA_CONFIG

#define REG_EXTERNAL_DIODE_BETA_CONFIG   0x25

Definition at line 56 of file emc1702.cpp.

◆ REG_EXTERNAL_DIODE_FAULT

#define REG_EXTERNAL_DIODE_FAULT   0x1B

Definition at line 59 of file emc1702.cpp.

◆ REG_EXTERNAL_DIODE_HIGH_BYTE

#define REG_EXTERNAL_DIODE_HIGH_BYTE   0x3A

Definition at line 40 of file emc1702.cpp.

◆ REG_EXTERNAL_DIODE_HIGH_LIM_HIGH_BYTE

#define REG_EXTERNAL_DIODE_HIGH_LIM_HIGH_BYTE   0x07

Definition at line 47 of file emc1702.cpp.

◆ REG_EXTERNAL_DIODE_HIGH_LIM_LOW_BYTE

#define REG_EXTERNAL_DIODE_HIGH_LIM_LOW_BYTE   0x13

Definition at line 49 of file emc1702.cpp.

◆ REG_EXTERNAL_DIODE_IDEALITY_FACTOR

#define REG_EXTERNAL_DIODE_IDEALITY_FACTOR   0x25

Definition at line 57 of file emc1702.cpp.

◆ REG_EXTERNAL_DIODE_LOW_BYTE

#define REG_EXTERNAL_DIODE_LOW_BYTE   0x3B

Definition at line 41 of file emc1702.cpp.

◆ REG_EXTERNAL_DIODE_LOW_LIM_HIGH_BYTE

#define REG_EXTERNAL_DIODE_LOW_LIM_HIGH_BYTE   0x08

Definition at line 48 of file emc1702.cpp.

◆ REG_EXTERNAL_DIODE_LOW_LIM_LOW_BYTE

#define REG_EXTERNAL_DIODE_LOW_LIM_LOW_BYTE   0x14

Definition at line 50 of file emc1702.cpp.

◆ REG_EXTERNAL_DIODE_TCRIT_LIM

#define REG_EXTERNAL_DIODE_TCRIT_LIM   0x19

Definition at line 51 of file emc1702.cpp.

◆ REG_HIGH_LIMIT_STATUS

#define REG_HIGH_LIMIT_STATUS   0x35

Definition at line 35 of file emc1702.cpp.

◆ REG_INTERNAL_DIODE_HIGH_BYTE

#define REG_INTERNAL_DIODE_HIGH_BYTE   0x38

Definition at line 38 of file emc1702.cpp.

◆ REG_INTERNAL_DIODE_HIGH_LIM

#define REG_INTERNAL_DIODE_HIGH_LIM   0x05

Definition at line 45 of file emc1702.cpp.

◆ REG_INTERNAL_DIODE_LOW_BYTE

#define REG_INTERNAL_DIODE_LOW_BYTE   0x39

Definition at line 39 of file emc1702.cpp.

◆ REG_INTERNAL_DIODE_LOW_LIM

#define REG_INTERNAL_DIODE_LOW_LIM   0x06

Definition at line 46 of file emc1702.cpp.

◆ REG_INTERNAL_DIODE_TCRIT_LIM

#define REG_INTERNAL_DIODE_TCRIT_LIM   0x20

Definition at line 53 of file emc1702.cpp.

◆ REG_LOW_LIMIT_STATUS

#define REG_LOW_LIMIT_STATUS   0x36

Definition at line 36 of file emc1702.cpp.

◆ REG_MICROCHIP_ID

#define REG_MICROCHIP_ID   0xFE

Definition at line 62 of file emc1702.cpp.

◆ REG_ONE_SHOT

#define REG_ONE_SHOT   0x0F

Definition at line 58 of file emc1702.cpp.

◆ REG_PRODUCT_FEATURES

#define REG_PRODUCT_FEATURES   0xFC

Definition at line 60 of file emc1702.cpp.

◆ REG_PRODUCT_ID

#define REG_PRODUCT_ID   0xFD

Definition at line 61 of file emc1702.cpp.

◆ REG_REVISION

#define REG_REVISION   0xFF

Definition at line 63 of file emc1702.cpp.

◆ REG_STATUS

#define REG_STATUS   0x34

Definition at line 34 of file emc1702.cpp.

◆ REG_TCRIT_CONSECUTIVE_ALERT

#define REG_TCRIT_CONSECUTIVE_ALERT   0x22

Definition at line 55 of file emc1702.cpp.

◆ REG_TCRIT_HYSTERISIS

#define REG_TCRIT_HYSTERISIS   0x21

Definition at line 54 of file emc1702.cpp.

◆ SENCE_VOLTAGE_HIGH_BYTE

#define SENCE_VOLTAGE_HIGH_BYTE   0x54

Definition at line 67 of file emc1702.cpp.

◆ SENCE_VOLTAGE_HIGH_LIM

#define SENCE_VOLTAGE_HIGH_LIM   0x60

Definition at line 73 of file emc1702.cpp.

◆ SENCE_VOLTAGE_LOW_BYTE

#define SENCE_VOLTAGE_LOW_BYTE   0x55

Definition at line 68 of file emc1702.cpp.

◆ SENCE_VOLTAGE_LOW_LIM

#define SENCE_VOLTAGE_LOW_LIM   0x61

Definition at line 74 of file emc1702.cpp.

◆ SENCE_VOLTAGE_V_CRIT

#define SENCE_VOLTAGE_V_CRIT   0x66

Definition at line 77 of file emc1702.cpp.

◆ SENSE_V_CRIT_HYSTERISIS

#define SENSE_V_CRIT_HYSTERISIS   0x69

Definition at line 79 of file emc1702.cpp.

◆ SOURCE_V_CRIT_HYSTERISIS

#define SOURCE_V_CRIT_HYSTERISIS   0x6A

Definition at line 80 of file emc1702.cpp.

◆ SOURCE_VOLTAGE_HIGH_BYTE

#define SOURCE_VOLTAGE_HIGH_BYTE   0x58

Definition at line 69 of file emc1702.cpp.

◆ SOURCE_VOLTAGE_HIGH_LIM

#define SOURCE_VOLTAGE_HIGH_LIM   0x64

Definition at line 75 of file emc1702.cpp.

◆ SOURCE_VOLTAGE_LOW_BYTE

#define SOURCE_VOLTAGE_LOW_BYTE   0x59

Definition at line 70 of file emc1702.cpp.

◆ SOURCE_VOLTAGE_LOW_LIM

#define SOURCE_VOLTAGE_LOW_LIM   0x65

Definition at line 76 of file emc1702.cpp.

◆ SOURCE_VOLTAGE_V_CRIT

#define SOURCE_VOLTAGE_V_CRIT   0x68

Definition at line 78 of file emc1702.cpp.

◆ VOLTAGE_SAMPLING_CONFIG

#define VOLTAGE_SAMPLING_CONFIG   0x50

Definition at line 64 of file emc1702.cpp.