Describe the bug
The 5V rail doesn't properly turn on when disable5V flag is set in the hypnos.sleep() function.
Hardware in Use
Whisp/ WeatherChimes unit
To Reproduce
Steps to reproduce the behavior:
Program Whisp/ WeatherChimes unit with the following sleep function: hypnos.sleep(false, true, false)
See that 5V doesnt stay on throughout measurements
Expected behavior
The 5V rail should stay on during sleep so that SEN55 sensor stays on.
Code
#include <Loom_Manager.h>
#include <Hardware/Loom_Hypnos/Loom_Hypnos.h>
#include <Sensors/Loom_Analog/Loom_Analog.h>
#include <Sensors/I2C/Loom_SEN55/Loom_SEN55.h>
#include <Sensors/I2C/Loom_SHT31/Loom_SHT31.h>
//#include <Sensors/Analog/ACS712/Loom_ACS712.h>
#include <Logger.h>
#include <Internet/Connectivity/Loom_LTE/Loom_LTE.h>
#include <Internet/Connectivity/Loom_Wifi/Loom_Wifi.h>
#include <Internet/Logging/Loom_MongoDB/Loom_MongoDB.h>
Manager manager("Whisp_Proto", 1);
Loom_Hypnos hypnos(manager, HYPNOS_VERSION::V3_3, TIME_ZONE::PST, true);
Loom_Analog analog(manager);
//Main Air Quality, Temperature, and Humidity Sensing
Loom_SEN55 SEN55(manager);
Loom_SHT31 sht(manager);
//Connectivity
Loom_LTE lte(manager, "hologram", "", "");
Loom_MongoDB mqtt(manager, lte.getClient());
//A batch is logged every 5 minutes, so 12 per hour (12 * 6 = 72) so mqtt will publish at batch size of 72/ every 6 hours
Loom_BatchSD batchSD(hypnos, 4);
void isrTrigger()
{
hypnos.wakeup();
}
void setup() {
ENABLE_SD_LOGGING;
ENABLE_FUNC_SUMMARIES;
// Wait 20 seconds for the serial console to open
manager.beginSerial();
// Set the LTE board to only powerup when a batch is ready to be sent
lte.setBatchSD(batchSD);
// Enable the hypnos rails
hypnos.enable();
//Time Sync Using LTE
hypnos.setNetworkInterface(<e);
// Read the MQTT creds file to supply the device with MQTT credentials
mqtt.loadConfigFromJSON(hypnos.readFile("mqtt_creds.json"));
// Initialize all in-use modules
manager.initialize();
// Register the ISR and attach to the interrupt
hypnos.registerInterrupt(isrTrigger);
hypnos.networkTimeUpdate();
}
void loop() {
// Measure and package the data
manager.measure();
manager.package();
// Print the current JSON packet
manager.display_data();
// Log the data to the SD
hypnos.logToSD();
// Pass in the batchSD to the mqtt obj to check/ publish a batch of data if ready
mqtt.publish(batchSD);
//mqtt.publish();
// Set the interrupt duration for 5 minutes
hypnos.setInterruptDuration(TimeSpan(0,0,0,30));
// Reattach the interrupt
hypnos.reattachRTCInterrupt();
// Set the hypnos to sleep, but with power still being supplied to the 5v rail (wait for serial when testing from a computer)
hypnos.sleep(false, true, false);
hypnos.networkTimeUpdate();
//manager.pause(2000);
}
/**
* This is an example use case for using the SEN55 Sensor
*
* MANAGER MUST BE INCLUDED FIRST IN ALL CODE
*/
/*
#include <Loom_Manager.h>
#include <Sensors/I2C/Loom_SEN55/Loom_SEN55.h>
#include <Hardware/Loom_Hypnos/Loom_Hypnos.h>
Manager manager("Device", 1);
Loom_Hypnos hypnos(manager, HYPNOS_VERSION::V3_3, TIME_ZONE::PST);
// Manager Reference, Whether or not we should measure particulate matter or nor
Loom_SEN55 sen55(manager, true);
void setup() {
// Start the serial interface
manager.beginSerial();
hypnos.enable();
// Initialize the manager
manager.initialize();
}
void loop() {
// Measure the data from the sensors
manager.measure();
// Package the data into JSON
manager.package();
// Print the JSON document to the Serial monitor
manager.display_data();
// Wait for 5 seconds
manager.pause(5000);
}*/
Output
Copy and paste the serial output here if possible wrapped in ``` ```
Additional context
Add any other context about the problem here.
Describe the bug The 5V rail doesn't properly turn on when disable5V flag is set in the hypnos.sleep() function.
Hardware in Use Whisp/ WeatherChimes unit
To Reproduce Steps to reproduce the behavior:
Expected behavior The 5V rail should stay on during sleep so that SEN55 sensor stays on.
Code
Output Copy and paste the serial output here if possible wrapped in ``` ```
Additional context Add any other context about the problem here.