Multitech xDot Utils

MultitechDot.h

Committer:
lucian@1.0.0.127.in-addr.arpa
Date:
2017-07-20
Revision:
1:73cea350269e
Parent:
0:a5748bc6e3e1
Child:
2:8d1c64670642

File content as of revision 1:73cea350269e:

#ifndef MBED_MULTITECHDOT_H
#define MBED_MULTITECHDOT_H

#include "mbed.h"
#include "mDot.h"
#include "MTSLog.h"
#include "MTSText.h"
#include "xdot_low_power.h"

class MultitechDot : public mDot {
public:

    static MultitechDot* getInstance();
    void config(
            uint8_t *network_address, uint8_t *network_session_key, uint8_t *data_session_key,
            uint8_t frequency_sub_band, bool public_network, uint8_t ack
    );

    void display_config();

    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
    );

    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
    );

    void update_manual_config(
            uint8_t *network_address, uint8_t *network_session_key, uint8_t *data_session_key,
            uint8_t frequency_sub_band, bool public_network, uint8_t ack
    );

    void update_peer_to_peer_config(
            uint8_t *network_address, uint8_t *network_session_key, uint8_t *data_session_key, uint32_t tx_frequency,
            uint8_t tx_datarate, uint8_t tx_power
    );

    void update_network_link_check_config(uint8_t link_check_count, uint8_t link_check_threshold);

    void join_network();

    void deep_sleep(uint32_t min_delay_s);

    void sleep_wake_rtc_only(bool deepsleep);

    void sleep_wake_interrupt_only(bool deepsleep);

    void sleep_wake_rtc_or_interrupt(uint32_t delay_s, bool deepsleep);

    void sleep_save_io();

    void sleep_reset_hsi();

    void sleep_configure_io();

    void sleep_restore_io();

    void send_data(std::vector<uint8_t> data);
};


#endif //MBED_MULTITECHDOT_H