FOSSASAT-1B
Loading...
Searching...
No Matches
configuration.cpp
1
#include "configuration.h"
2
3
// flag to signal interrupts enabled/disabled
4
volatile
bool
interruptsEnabled
=
true
;
5
6
// flag to signal data was received from ISR
7
volatile
bool
dataReceived
=
false
;
8
9
// current modem configuration
10
uint8_t
currentModem
;
11
12
// current spreading factor mode
13
uint8_t
spreadingFactorMode
;
14
15
// timestamps
16
uint32_t
lastHeartbeat
= 0;
17
18
// INA226 instance
19
INA226
ina
;
20
21
// RadioLib instances
22
SX1268
radio
=
new
Module
(
RADIO_NSS
,
RADIO_DIO1
,
RADIO_NRST
,
RADIO_BUSY
);
23
MorseClient
morse
(&
radio
);
24
25
// transmission password
26
const
char
*
password
=
"password"
;
27
28
// encryption key
29
const
uint8_t
encryptionKey
[] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
30
0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00};
31
32
void
Configuration_Setup_Pins
() {
33
// set up digital pins
34
pinMode
(
DIGITAL_OUT_MOSFET_1
,
OUTPUT
);
35
pinMode
(
DIGITAL_OUT_MOSFET_2
,
OUTPUT
);
36
pinMode
(
DIGITAL_OUT_WATCHDOG_HEARTBEAT
,
OUTPUT
);
37
pinMode
(
DIGITAL_OUT_MPPT_PIN
,
OUTPUT
);
38
39
// set up analog pins
40
pinMode
(
ANALOG_IN_SOLAR_A_VOLTAGE_PIN
,
INPUT
);
41
pinMode
(
ANALOG_IN_SOLAR_B_VOLTAGE_PIN
,
INPUT
);
42
pinMode
(
ANALOG_IN_SOLAR_C_VOLTAGE_PIN
,
INPUT
);
43
pinMode
(
ANALOG_IN_RANDOM_SEED
,
INPUT
);
44
45
// bring deployment MOSFETs low
46
digitalWrite
(
DIGITAL_OUT_MOSFET_1
,
LOW
);
47
digitalWrite
(
DIGITAL_OUT_MOSFET_2
,
LOW
);
48
49
// provide seed for encrpytion PRNG
50
randomSeed
(
analogRead
(
ANALOG_IN_RANDOM_SEED
));
51
}
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
spreadingFactorMode
uint8_t spreadingFactorMode
Definition
configuration.cpp:13
encryptionKey
const uint8_t encryptionKey[]
Definition
configuration.cpp:29
currentModem
uint8_t currentModem
Definition
configuration.cpp:10
radio
SX1268 radio
Definition
configuration.cpp:22
dataReceived
volatile bool dataReceived
Definition
configuration.cpp:7
password
const char * password
Definition
configuration.cpp:26
ina
INA226 ina
Definition
configuration.cpp:19
interruptsEnabled
volatile bool interruptsEnabled
Definition
configuration.cpp:4
lastHeartbeat
uint32_t lastHeartbeat
Definition
configuration.cpp:16
morse
MorseClient morse
ANALOG_IN_SOLAR_C_VOLTAGE_PIN
#define ANALOG_IN_SOLAR_C_VOLTAGE_PIN
Definition
configuration.h:406
ANALOG_IN_RANDOM_SEED
#define ANALOG_IN_RANDOM_SEED
Definition
configuration.h:407
RADIO_NRST
#define RADIO_NRST
Definition
configuration.h:415
DIGITAL_OUT_WATCHDOG_HEARTBEAT
#define DIGITAL_OUT_WATCHDOG_HEARTBEAT
Definition
configuration.h:411
DIGITAL_OUT_MPPT_PIN
#define DIGITAL_OUT_MPPT_PIN
Definition
configuration.h:408
ANALOG_IN_SOLAR_B_VOLTAGE_PIN
#define ANALOG_IN_SOLAR_B_VOLTAGE_PIN
Definition
configuration.h:405
DIGITAL_OUT_MOSFET_2
#define DIGITAL_OUT_MOSFET_2
Definition
configuration.h:410
ANALOG_IN_SOLAR_A_VOLTAGE_PIN
#define ANALOG_IN_SOLAR_A_VOLTAGE_PIN
Definition
configuration.h:404
RADIO_DIO1
#define RADIO_DIO1
Definition
configuration.h:413
RADIO_NSS
#define RADIO_NSS
Definition
configuration.h:412
DIGITAL_OUT_MOSFET_1
#define DIGITAL_OUT_MOSFET_1
Definition
configuration.h:409
RADIO_BUSY
#define RADIO_BUSY
Definition
configuration.h:414
Persistent_Storage_Read
T Persistent_Storage_Read(uint16_t addr)
This function reads a value of type T from EEPROM.
Definition
persistent_storage.h:22
FossaSat1B
configuration.cpp
Generated by
1.9.8