Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: libxDot-mbed5 ISL29011
Diff: examples/src/dot_util.cpp
- Revision:
- 5:97ed5f2f099e
- Parent:
- 4:93579eb88fcd
- Child:
- 7:724cb82a113e
--- a/examples/src/dot_util.cpp Thu Oct 06 22:12:21 2016 +0000
+++ b/examples/src/dot_util.cpp Fri Oct 07 10:38:54 2016 -0500
@@ -26,7 +26,7 @@
logInfo("\tatnenna gain: %u dBm", dot->getAntennaGain());
}
-void update_ota_config(std::string network_name, std::string network_passphrase, uint8_t frequency_sub_band, bool public_network, uint8_t ack) {
+void update_ota_config_name_phrase(std::string network_name, std::string network_passphrase, uint8_t frequency_sub_band, bool public_network, uint8_t ack) {
std::string current_network_name = dot->getNetworkName();
std::string current_network_passphrase = dot->getNetworkPassphrase();
uint8_t current_frequency_sub_band = dot->getFrequencySubBand();
@@ -69,6 +69,52 @@
}
}
+void update_ota_config_id_key(uint8_t *network_id, uint8_t *network_key, uint8_t frequency_sub_band, bool public_network, uint8_t ack) {
+ std::vector<uint8_t> current_network_id = dot->getNetworkId();
+ std::vector<uint8_t> current_network_key = dot->getNetworkKey();
+ uint8_t current_frequency_sub_band = dot->getFrequencySubBand();
+ bool current_public_network = dot->getPublicNetwork();
+ uint8_t current_ack = dot->getAck();
+
+ std::vector<uint8_t> network_id_vector(network_id, network_id + 8);
+ std::vector<uint8_t> network_key_vector(network_key, network_key + 16);
+
+ if (current_network_id != network_id_vector) {
+ logInfo("changing network ID from \"%s\" to \"%s\"", mts::Text::bin2hexString(current_network_id).c_str(), mts::Text::bin2hexString(network_id_vector).c_str());
+ if (dot->setNetworkId(network_id_vector) != mDot::MDOT_OK) {
+ logError("failed to set network ID to \"%s\"", mts::Text::bin2hexString(network_id_vector).c_str());
+ }
+ }
+
+ if (current_network_key != network_key_vector) {
+ logInfo("changing network KEY from \"%s\" to \"%s\"", mts::Text::bin2hexString(current_network_key).c_str(), mts::Text::bin2hexString(network_key_vector).c_str());
+ if (dot->setNetworkKey(network_key_vector) != mDot::MDOT_OK) {
+ logError("failed to set network KEY to \"%s\"", mts::Text::bin2hexString(network_key_vector).c_str());
+ }
+ }
+
+ if (current_frequency_sub_band != frequency_sub_band) {
+ logInfo("changing frequency sub band from %u to %u", current_frequency_sub_band, frequency_sub_band);
+ if (dot->setFrequencySubBand(frequency_sub_band) != mDot::MDOT_OK) {
+ logError("failed to set frequency sub band to %u", frequency_sub_band);
+ }
+ }
+
+ if (current_public_network != public_network) {
+ logInfo("changing public network from %s to %s", current_public_network ? "true" : "false", public_network ? "true" : "false");
+ if (dot->setPublicNetwork(public_network) != mDot::MDOT_OK) {
+ logError("failed to set public network to %s", public_network ? "true" : "false");
+ }
+ }
+
+ if (current_ack != ack) {
+ logInfo("changing acks from %u to %u", current_ack, ack);
+ if (dot->setAck(ack) != mDot::MDOT_OK) {
+ logError("failed to set acks to %u", ack);
+ }
+ }
+}
+
void join_network() {
int32_t j_attempts = 0;
int32_t ret = mDot::MDOT_ERROR;