FOSSASAT-1B
configuration.h
1
#ifndef CONFIGURATION_H_INCLUDED
2
#define CONFIGURATION_H_INCLUDED
3
4
#include "FossaSat1B.h"
5
29
#define MAX_STRING_LENGTH 32
30
#define MAX_OPT_DATA_LENGTH 128
31
#define MAX_RADIO_BUFFER_LENGTH (MAX_STRING_LENGTH + 2 + MAX_OPT_DATA_LENGTH)
47
#define ENABLE_TRANSMISSION_CONTROL
48
#define ENABLE_DEPLOYMENT_SEQUENCE
49
#define ENABLE_INTERVAL_CONTROL
50
#define ENABLE_INA226
72
#define BATTERY_VOLTAGE_LIMIT 3.8f
73
#define BATTERY_CW_BEEP_VOLTAGE_LIMIT 3.8f
74
#define BATTERY_TEMPERATURE_LIMIT -0.7f
75
#define WATCHDOG_LOOP_HEARTBEAT_PERIOD 1000
76
#define WATCHDOG_RESET_NUM_SLEEP_CYCLES 4
77
#define SLEEP_LENGTH_CONSTANT 0.9
78
#define DEPLOYMENT_ATTEMPTS 4
79
#define DEPLOYMENT_SLEEP_LENGTH 1800000
80
#define DEPLOYMENT_DEBUG_LENGTH 60
81
#define DEPLOYMENT_DEBUG_SAMPLE_PERIOD 1000
82
#define AUTODEPLOY_DELAY 1200
98
#define LOW_POWER_MODE_ACTIVE 0
99
#define LOW_POWER_MODE_ENABLED 1
100
#define MPPT_TEMP_SWITCH_ENABLED 1
101
#define MPPT_KEEP_ALIVE_ENABLED 0
102
#define TRANSMIT_ENABLED 1
114
#define INA_ADDR 0x40
115
#define INA_RSHUNT 0.1
116
#define INA_MAX_CURRENT 0.5
117
#define INA_REG_MANUFACTURER_ID 0xFE
118
#define INA_MANUFACTURER_ID 0x5449
171
#define EEPROM_DEPLOYMENT_COUNTER_ADDR 0x0000
172
179
#define EEPROM_POWER_CONFIG_ADDR 0x0001
180
187
#define EEPROM_FIRST_RUN_ADDR 0x0002
188
195
#define EEPROM_RESTART_COUNTER_ADDR 0x0003
196
203
#define EEPROM_FSK_RECEIVE_LEN_ADDR 0x0005
204
211
#define EEPROM_LORA_RECEIVE_LEN_ADDR 0x0006
212
219
#define EEPROM_UPTIME_COUNTER_ADDR 0x0007
220
227
#define EEPROM_LOOP_COUNTER 0x000B
228
229
236
#define EEPROM_LORA_VALID_COUNTER_ADDR 0x000C
237
244
#define EEPROM_LORA_INVALID_COUNTER_ADDR 0x000E
245
252
#define EEPROM_FSK_VALID_COUNTER_ADDR 0x0010
253
260
#define EEPROM_FSK_INVALID_COUNTER_ADDR 0x0012
261
268
#define EEPROM_CALLSIGN_LEN_ADDR 0x0014
269
276
#define EEPROM_CALLSIGN_ADDR 0x0015
277
284
#define EEPROM_CHARGING_VOLTAGE_STATS_ADDR 0x0040
285
292
#define EEPROM_CHARGING_CURRENT_STATS_ADDR 0x0043
293
300
#define EEPROM_BATTERY_VOLTAGE_STATS_ADDR 0x0049
301
308
#define EEPROM_CELL_A_VOLTAGE_STATS_ADDR 0x004C
309
316
#define EEPROM_CELL_B_VOLTAGE_STATS_ADDR 0x004F
317
324
#define EEPROM_CELL_C_VOLTAGE_STATS_ADDR 0x0052
325
332
#define EEPROM_BATTERY_TEMP_STATS_ADDR 0x0055
333
340
#define EEPROM_BOARD_TEMP_STATS_ADDR 0x005B
341
348
#define EEPROM_MCU_TEMP_STATS_ADDR 0x0061
349
364
//EEPROM_FIRST_RUN_ADDR
365
#define EEPROM_RESET_VALUE 0xFF
366
#define EEPROM_FIRST_RUN 0
367
#define EEPROM_CONSECUTIVE_RUN 1
404
#define ANALOG_IN_SOLAR_A_VOLTAGE_PIN A0
405
#define ANALOG_IN_SOLAR_B_VOLTAGE_PIN A7
406
#define ANALOG_IN_SOLAR_C_VOLTAGE_PIN A2
407
#define ANALOG_IN_RANDOM_SEED A6
408
#define DIGITAL_OUT_MPPT_PIN 5
409
#define DIGITAL_OUT_MOSFET_1 9
410
#define DIGITAL_OUT_MOSFET_2 8
411
#define DIGITAL_OUT_WATCHDOG_HEARTBEAT 4
412
#define RADIO_NSS 7
413
#define RADIO_DIO1 2
414
#define RADIO_BUSY 6
415
#define RADIO_NRST RADIOLIB_NC
427
#define BOARD_TEMP_SENSOR_ADDR 0b1001100
428
#define BATTERY_TEMP_SENSOR_ADDR 0b1001011
429
#define TEMP_SENSOR_REG_CONFIG 0b01
430
#define TEMP_SENSOR_RESOLUTION_9_BITS 0b00000000
431
#define TEMP_SENSOR_RESOLUTION_10_BITS 0b00100000
432
#define TEMP_SENSOR_RESOLUTION_11_BITS 0b01000000
433
#define TEMP_SENSOR_RESOLUTION_12_BITS 0b01100000
449
#define MCU_TEMP_OFFSET 324.31
450
#define MCU_TEMP_COEFFICIENT 1.22
468
#define SYNC_WORD 0x12
469
#define TCXO_VOLTAGE 1.6
470
#define MAX_NUM_OF_BLOCKS 3
471
#define LORA_RECEIVE_WINDOW_LENGTH 40
472
#define FSK_RECEIVE_WINDOW_LENGTH 20
473
#define RESPONSE_DELAY 500
474
#define WHITENING_INITIAL 0x1FF
506
#define LORA_CARRIER_FREQUENCY 436.7
507
#define LORA_BANDWIDTH 125.0
508
#define LORA_SPREADING_FACTOR 11
509
#define LORA_SPREADING_FACTOR_ALT 10
510
#define LORA_CODING_RATE 8
511
#define LORA_OUTPUT_POWER 20
512
#define LORA_PREAMBLE_LENGTH 8
513
#define LORA_CURRENT_LIMIT 140.0
543
#define FSK_CARRIER_FREQUENCY 436.8
544
#define FSK_BIT_RATE 9.6
545
#define FSK_FREQUENCY_DEVIATION 5.0
546
#define FSK_RX_BANDWIDTH 39.0
547
#define FSK_OUTPUT_POWER 20
548
#define FSK_PREAMBLE_LENGTH 16
549
#define FSK_DATA_SHAPING RADIOLIB_SHAPING_0_5
550
#define FSK_CURRENT_LIMIT 140.0
565
#define NUM_CW_BEEPS 3
566
#define MORSE_PREAMBLE_LENGTH 0
567
#define MORSE_SPEED 20
568
#define MORSE_BATTERY_MIN 3.2
569
#define MORSE_BATTERY_STEP 0.05
570
#define MORSE_BEACON_LOOP_FREQ 2
583
#define MODEM_LORA 'L'
584
#define MODEM_FSK 'F'
585
598
extern
volatile
bool
interruptsEnabled
;
599
extern
volatile
bool
dataReceived
;
600
extern
uint8_t
currentModem
;
601
extern
uint8_t
spreadingFactorMode
;
602
extern
uint32_t
lastHeartbeat
;
603
extern
INA226
ina
;
604
extern
SX1268
radio
;
605
extern
MorseClient
morse
;
606
extern
const
char
*
password
;
607
extern
const
uint8_t
encryptionKey
[];
616
void
Configuration_Setup_Pins
();
625
#endif
Configuration_Setup_Pins
void Configuration_Setup_Pins()
This function is called at the very beginning of the satellite's startup to configure each pin...
Definition:
configuration.cpp:32
lastHeartbeat
uint32_t lastHeartbeat
Definition:
configuration.cpp:16
spreadingFactorMode
uint8_t spreadingFactorMode
Definition:
configuration.cpp:13
encryptionKey
const uint8_t encryptionKey[]
Definition:
configuration.cpp:29
interruptsEnabled
volatile bool interruptsEnabled
Definition:
configuration.cpp:4
ina
INA226 ina
Definition:
configuration.cpp:19
currentModem
uint8_t currentModem
Definition:
configuration.cpp:10
dataReceived
volatile bool dataReceived
Definition:
configuration.cpp:7
password
const char * password
Definition:
configuration.cpp:26
morse
MorseClient morse
radio
SX1268 radio
Definition:
configuration.cpp:22
FossaSat1B
configuration.h
Generated by
1.8.13