FOSSASAT-1B
Power Management Configuration
Collaboration diagram for Power Management Configuration:

Macros

#define BATTERY_VOLTAGE_LIMIT   3.8f
 
#define BATTERY_CW_BEEP_VOLTAGE_LIMIT   3.8f
 
#define BATTERY_TEMPERATURE_LIMIT   -0.7f
 
#define WATCHDOG_LOOP_HEARTBEAT_PERIOD   1000
 
#define WATCHDOG_RESET_NUM_SLEEP_CYCLES   4
 
#define SLEEP_LENGTH_CONSTANT   0.9
 
#define DEPLOYMENT_ATTEMPTS   4
 
#define DEPLOYMENT_SLEEP_LENGTH   1800000
 
#define DEPLOYMENT_DEBUG_LENGTH   60
 
#define DEPLOYMENT_DEBUG_SAMPLE_PERIOD   1000
 
#define AUTODEPLOY_DELAY   1200
 

Detailed Description

Test:

(ID CONF_POWER_MANAGEMENT_T0) (SEV 1) Check that the satellite switches to low power mode when its voltage goes below BATTERY_VOLTAGE_LIMIT.

(ID CONF_POWER_MANAGEMENT_T1) (SEV 2) Check that the satellite sends a morse beacon transmission when it switches to Low Power Mode.

(ID CONF_POWER_MANAGEMENT_T2) (SEV 1) Check that the battery stops charging when the temperature goes below this threshold, and starts charging again when it is not.

(ID CONF_POWER_MANAGEMENT_T3) (SEV 1) Check that the watchdog is signalled every WATCHDOG_LOOP_HEARTBEAT_PERIOD.

(ID CONF_POWER_MANAGEMENT_T4) (SEV 1) Check that the satellite sleeping times using the SLEEP_LENGTH_CONSTANT is suitable to account for the LowPower libraries overhead.

(ID CONF_POWER_MANAGEMENT_T5) (SEV 1) Check that the satellite does not deploy after DEPLOYMENT_ATTEMPS has reached.

(ID CONF_POWER_MANAGEMENT_T6) (SEV 1) Check that the satellite waits for this amount of time before the deploy sequence starts, this is for jettison.

(ID CONF_POWER_MANAGEMENT_T7) (SEV 5) Check that each debug print waits DEPLOYMENT_DEBUG_SAMPLE_PERIOD amount of time between each print.

Todo:
Julian -> Set appropriate BATTERY_VOLTAGE_LIMIT and BATTERY_CW_BEEP_VOLTAGE_LIMIT

Macro Definition Documentation

◆ AUTODEPLOY_DELAY

#define AUTODEPLOY_DELAY   1200

How long to wait bevore attempting automated deployment in main loop (seconds). See: FossaSat1B.ino

Definition at line 82 of file configuration.h.

◆ BATTERY_CW_BEEP_VOLTAGE_LIMIT

#define BATTERY_CW_BEEP_VOLTAGE_LIMIT   3.8f

Battery voltage limit to switch into morse beep (V).

Definition at line 73 of file configuration.h.

◆ BATTERY_TEMPERATURE_LIMIT

#define BATTERY_TEMPERATURE_LIMIT   -0.7f

Battery charging temperature limit (deg. C).

Definition at line 74 of file configuration.h.

◆ BATTERY_VOLTAGE_LIMIT

#define BATTERY_VOLTAGE_LIMIT   3.8f

Battery voltage limit to enable low power mode (V).

Definition at line 72 of file configuration.h.

◆ DEPLOYMENT_ATTEMPTS

#define DEPLOYMENT_ATTEMPTS   4

Number of deployment attempts.

Definition at line 78 of file configuration.h.

◆ DEPLOYMENT_DEBUG_LENGTH

#define DEPLOYMENT_DEBUG_LENGTH   60

How long to wait until the debugging print routine breaks (s). See: FossaSat1B.ino

Definition at line 80 of file configuration.h.

◆ DEPLOYMENT_DEBUG_SAMPLE_PERIOD

#define DEPLOYMENT_DEBUG_SAMPLE_PERIOD   1000

How long to wait between each debug parameter print (ms). See: FossaSat1B.ino

Definition at line 81 of file configuration.h.

◆ DEPLOYMENT_SLEEP_LENGTH

#define DEPLOYMENT_SLEEP_LENGTH   1800000

Sleep for this period of time before deployment (ms)

Definition at line 79 of file configuration.h.

◆ SLEEP_LENGTH_CONSTANT

#define SLEEP_LENGTH_CONSTANT   0.9

Sleep times are multiplied by this constant to compensate for the LowPower libraries overhead.

Definition at line 77 of file configuration.h.

◆ WATCHDOG_LOOP_HEARTBEAT_PERIOD

#define WATCHDOG_LOOP_HEARTBEAT_PERIOD   1000

Watchdog heartbeat period in loop() (ms).

Definition at line 75 of file configuration.h.

◆ WATCHDOG_RESET_NUM_SLEEP_CYCLES

#define WATCHDOG_RESET_NUM_SLEEP_CYCLES   4

Number of 8-second sleep cycles to reset watchdog

Definition at line 76 of file configuration.h.