From 74f85d8d5898a91f9790b0e3a1a6b1c80b0c311e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sat, 2 Jul 2022 22:13:19 -0400 Subject: [PATCH] added ina219 --- cubesatsim/cubesatsim.ino | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 6426ca31..d4a39752 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -22,6 +22,17 @@ #include "cubesatsim.h" #include "DumbTXSWS.h" #include +#include +#include + +Adafruit_INA219 ina219_1_0x40; +Adafruit_INA219 ina219_1_0x41(0x41); +Adafruit_INA219 ina219_1_0x44(0x44); +Adafruit_INA219 ina219_1_0x45(0x45); +Adafruit_INA219 ina219_2_0x40(0x40); +Adafruit_INA219 ina219_2_0x41(0x41); +Adafruit_INA219 ina219_2_0x44(0x44); +Adafruit_INA219 ina219_2_0x45(0x45); void setup() { @@ -119,6 +130,37 @@ void setup() { set_callsign(callsign); } +// configure ina219s + + pinMode(MAIN_INA219, OUTPUT); + digitalWrite(MAIN_INA219, HIGH); + + ina219_1_0x40.begin(); + ina219_1_0x41.begin(); + ina219_1_0x44.begin(); + ina219_1_0x45.begin(); + + Wire1.setSDA(2); + Wire1.setSCL(3); + Wire1.begin(); + + ina219_2_0x40.begin(&Wire1); + ina219_2_0x41.begin(&Wire1); + ina219_2_0x44.begin(&Wire1); + ina219_2_0x45.begin(&Wire1); + + ina219_1_0x40.setCalibration_16V_400mA(); + ina219_1_0x41.setCalibration_16V_400mA(); + ina219_1_0x44.setCalibration_16V_400mA(); + ina219_1_0x45.setCalibration_16V_400mA(); + + ina219_2_0x40.setCalibration_16V_400mA(); + ina219_2_0x41.setCalibration_16V_400mA(); + ina219_2_0x44.setCalibration_16V_400mA(); + ina219_2_0x45.setCalibration_16V_400mA(); + +// configure STEM Payload sensors + // program Transceiver board configure_radio(); } @@ -1399,3 +1441,23 @@ void test_radio() delay(3000); digitalWrite(PTT_PIN, HIGH); } + +void read_ina219() +{ + float shuntvoltage = 0; + float busvoltage = 0; + float current_mA = 0; + float loadvoltage = 0; + + shuntvoltage = ina219_2_0x44.getShuntVoltage_mV(); + busvoltage = ina219_2_0x44.getBusVoltage_V(); + current_mA = ina219_2_0x44.getCurrent_mA(); + loadvoltage = busvoltage + (shuntvoltage / 1000); + +} + +void read_sensors() +{ + +} +