aboutsummaryrefslogtreecommitdiff
path: root/trygvisio_soil_moisture.ino
diff options
context:
space:
mode:
Diffstat (limited to 'trygvisio_soil_moisture.ino')
-rw-r--r--trygvisio_soil_moisture.ino96
1 files changed, 48 insertions, 48 deletions
diff --git a/trygvisio_soil_moisture.ino b/trygvisio_soil_moisture.ino
index 59b0cf6..7306c05 100644
--- a/trygvisio_soil_moisture.ino
+++ b/trygvisio_soil_moisture.ino
@@ -15,15 +15,16 @@ static void setup_rf();
static void show_pipes();
static services_pipe_type_mapping_t services_pipe_type_mapping[NUMBER_OF_PIPES] = SERVICES_PIPE_TYPE_MAPPING_CONTENT;
-static const hal_aci_data_t setup_msgs[NB_SETUP_MESSAGES] PROGMEM = SETUP_MESSAGES_CONTENT;
+static const hal_aci_data_t setup_msgs[NB_SETUP_MESSAGES] PROGMEM = SETUP_MESSAGES_CONTENT;
+// Pipes
static const uint8_t sm_pipe_set = PIPE_SOIL_MOISTURE_SOIL_MOISTURE_CONTROL_SET;
-static const uint8_t sm_pipe_tx = PIPE_SOIL_MOISTURE_SOIL_MOISTURE_CONTROL_TX;
-static const uint8_t sm_pipe_rx = PIPE_SOIL_MOISTURE_SOIL_MOISTURE_CONTROL_RX_ACK_AUTO;
+static const uint8_t sm_pipe_tx = PIPE_SOIL_MOISTURE_SOIL_MOISTURE_CONTROL_TX;
+static const uint8_t sm_pipe_rx = PIPE_SOIL_MOISTURE_SOIL_MOISTURE_CONTROL_RX_ACK_AUTO;
static struct aci_state_t aci_state;
static hal_aci_evt_t aci_data;
-static boolean timing_change_done = false;
+static boolean timing_change_done = false;
void __ble_assert(const char *file, uint16_t line)
{
@@ -32,7 +33,7 @@ void __ble_assert(const char *file, uint16_t line)
Debug::print(": ");
Debug::print(line);
Debug::print("\n");
- while(1);
+ while (1) {};
}
#if defined(__AVR_ATmega32U4__)
@@ -50,7 +51,7 @@ void setup() {
// As the F_CPU = 8000000UL, the USB core make the PLLCSR = 0x02
// But the external xtal is 16000000Hz, so correct it here.
PLLCSR |= 0x10; // Need 16 MHz xtal
- while (!(PLLCSR & (1<<PLOCK))); // wait for lock pll
+ while (!(PLLCSR & (1<<PLOCK))) {} // wait for lock pll
#elif defined(BLEND_MICRO_16MHZ)
// The CPU clock in bootloader is 8MHz, change to 16MHz for sketches to run (i.e. overclock running at 3.3v).
CLKPR = 0x80;
@@ -63,8 +64,7 @@ void setup() {
// Wait until the serial port is available (useful only for the Leonardo)
// As the Leonardo board is not reseted every time you open the Serial Monitor
#if defined (__AVR_ATmega32U4__)
- while(!Serial) {
- }
+ while (!Serial) {}
delay(1000);
#elif defined(__PIC32MX__)
@@ -86,9 +86,9 @@ static void setup_rf() {
else {
aci_state.aci_setup_info.services_pipe_type_mapping = NULL;
}
- aci_state.aci_setup_info.number_of_pipes = NUMBER_OF_PIPES;
- aci_state.aci_setup_info.setup_msgs = (hal_aci_data_t*)setup_msgs;
- aci_state.aci_setup_info.num_setup_msgs = NB_SETUP_MESSAGES;
+ aci_state.aci_setup_info.number_of_pipes = NUMBER_OF_PIPES;
+ aci_state.aci_setup_info.setup_msgs = (hal_aci_data_t*)setup_msgs;
+ aci_state.aci_setup_info.num_setup_msgs = NB_SETUP_MESSAGES;
// Tell the ACI library, the MCU to nRF8001 pin connections.
// The Active pin is optional and can be marked UNUSED
@@ -118,7 +118,7 @@ static void setup_rf() {
Debug::println(F("lib_aci_init done"));
}
-static bool rf_started = false;
+static bool rf_started = false;
static bool setup_required = false;
static void aci_loop() {
@@ -130,7 +130,7 @@ static void aci_loop() {
aci_evt_t * aci_evt;
aci_evt = &aci_data.evt;
- switch(aci_evt->evt_opcode) {
+ switch (aci_evt->evt_opcode) {
case ACI_EVT_DEVICE_STARTED:
Debug::println(F("ACI_EVT_DEVICE_STARTED"));
aci_state.data_credit_total = aci_evt->params.device_started.credit_available;
@@ -138,10 +138,10 @@ static void aci_loop() {
Debug::print(F("aci_state.data_credit_total="));
Debug::println(aci_state.data_credit_total, DEC);
- switch(aci_evt->params.device_started.device_mode) {
+ switch (aci_evt->params.device_started.device_mode) {
case ACI_DEVICE_SETUP:
Debug::println(F("ACI_DEVICE_SETUP"));
- rf_started = true;
+ rf_started = true;
setup_required = true;
break;
@@ -151,7 +151,7 @@ static void aci_loop() {
delay(20); // Magic number used to make sure the HW error event is handled correctly.
}
else {
- lib_aci_connect(180/* in seconds */, 0x0050 /* advertising interval 50ms*/);
+ lib_aci_connect(180 /* in seconds */, 0x0050 /* advertising interval 50ms*/);
// lib_aci_broadcast(10/* in seconds */, 0x0100 /* advertising interval 100ms */);
// ret = lib_aci_open_adv_pipe(PIPE_BATTERY_BATTERY_LEVEL_BROADCAST);
// ret = lib_aci_open_adv_pipe(PIPE_SOIL_MOISTURE_SOIL_MOISTURE_LEVEL_BROADCAST);
@@ -213,18 +213,18 @@ static void aci_loop() {
// bit 3-7: reserved
// Reference: https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.temperature_measurement.xml
struct {
- uint8_t flags;
+ uint8_t flags;
uint32_t value;
// time stamp
// temperature type
} temperature_measurement = {
- 0,
- exponent | (t & 0x00FFFFFF)
+ 0,
+ exponent | (t & 0x00FFFFFF)
};
lib_aci_set_local_data(&aci_state, PIPE_SOIL_MOISTURE_INTERMEDIATE_TEMPERATURE_SET,
- (uint8_t *) &temperature_measurement,
- sizeof(temperature_measurement));
+ (uint8_t *) &temperature_measurement,
+ sizeof(temperature_measurement));
}
break;
@@ -256,7 +256,7 @@ static void aci_loop() {
case ACI_EVT_DISCONNECTED:
Debug::println(F("ACI_EVT_DISCONNECTED"));
- lib_aci_connect(180/* in seconds */, 0x0100 /* advertising interval 100ms*/);
+ lib_aci_connect(180 /* in seconds */, 0x0100 /* advertising interval 100ms*/);
Debug::println(F("Advertising started"));
sm_on_disconnect();
@@ -301,11 +301,11 @@ static void aci_loop() {
Debug::print(F("HW error: "));
Debug::println(aci_evt->params.hw_error.line_num, DEC);
- for(uint8_t counter = 0; counter <= (aci_evt->len - 3); counter++) {
+ for (uint8_t counter = 0; counter <= (aci_evt->len - 3); counter++) {
Serial.write(aci_evt->params.hw_error.file_name[counter]); //uint8_t file_name[20];
}
Debug::println();
- lib_aci_connect(180/* in seconds */, 0x0050 /* advertising interval 50ms*/);
+ lib_aci_connect(180 /* in seconds */, 0x0050 /* advertising interval 50ms*/);
Debug::println(F("Advertising started"));
break;
@@ -365,7 +365,7 @@ void loop() {
last = now;
if (!rf_started) {
- static int count = 0;
+ static int count = 0;
static bool reset_attempted = false;
count++;
@@ -412,30 +412,30 @@ static void show_pipes() {
}
}
/*
-boolean tx_moisture(sm_res *res) {
- static const uint8_t pipe = PIPE_SOIL_MOISTURE_SOIL_MOISTURE_LEVEL_TX;
- uint8_t *data = (uint8_t *)res;
- uint8_t len = 2 + res->len;
- boolean status = false;
-
- boolean available = lib_aci_is_pipe_available(&aci_state, pipe);
-
- Debug::print(F("tx_soil_moisture, len="));
- Debug::println(len, DEC);
- Debug::print(F("aci_state.data_credit_available="));
- Debug::println(aci_state.data_credit_available, DEC);
- Debug::print(F("available="));
- Debug::println(available, DEC);
-
- if (available && aci_state.data_credit_available > 0) {
+ boolean tx_moisture(sm_res *res) {
+ static const uint8_t pipe = PIPE_SOIL_MOISTURE_SOIL_MOISTURE_LEVEL_TX;
+ uint8_t *data = (uint8_t *)res;
+ uint8_t len = 2 + res->len;
+ boolean status = false;
+
+ boolean available = lib_aci_is_pipe_available(&aci_state, pipe);
+
+ Debug::print(F("tx_soil_moisture, len="));
+ Debug::println(len, DEC);
+ Debug::print(F("aci_state.data_credit_available="));
+ Debug::println(aci_state.data_credit_available, DEC);
+ Debug::print(F("available="));
+ Debug::println(available, DEC);
+
+ if (available && aci_state.data_credit_available > 0) {
status = lib_aci_send_data(pipe, data, len);
if (status) {
aci_state.data_credit_available--;
}
- }
- return status;
-}
-*/
+ }
+ return status;
+ }
+ */
void notify_battery_level(uint8_t value) {
static const uint8_t pipe = PIPE_BATTERY_BATTERY_LEVEL_SET;
@@ -447,10 +447,10 @@ void notify_battery_level(uint8_t value) {
lib_aci_send_data(pipe, &value, 1);
}
-void notify_soil_moisture(const struct sm_res& res, uint8_t body_len) {
+void notify_soil_moisture(const struct sm_res &res, uint8_t body_len) {
uint8_t *data = (uint8_t *)&res;
- uint8_t len = SM_RES_HEADER_SIZE + body_len;
+ uint8_t len = SM_RES_HEADER_SIZE + body_len;
// Debug::print(F("notify_soil_moisture, code="));
// Debug::print(res.code, DEC);
@@ -473,7 +473,7 @@ void notify_soil_moisture(const struct sm_res& res, uint8_t body_len) {
}
#if SM_DEBUG == 1
-Debug::println("write_res");
+ Debug::println("write_res");
write_res(res);
#endif