dk.cpp 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include "dk.h"
  2. #include <vector>
  3. #include <atomic>
  4. #include <kbf.h>
  5. #include <kbf/wifi.h>
  6. #include <kbf/http/client.h>
  7. #include "settings.h"
  8. #include "tasks/display_manager.h"
  9. #include "tasks/event_manager.h"
  10. #include "tasks/ultrasonic.h"
  11. using namespace kbf;
  12. using std::vector;
  13. using std::atomic;
  14. using std::shared_ptr;
  15. namespace dk {
  16. shared_ptr<driver::Button> button;
  17. shared_ptr<rtos::EventGroup> mainEventGroup;
  18. std::shared_ptr<kbf::WebService> pairingService;
  19. std::shared_ptr<kbf::WebService> apiService;
  20. void setPairing(const string &pairingId) {
  21. ESP_LOGI(TAG, "%s(%s)", __func__, pairingId.c_str());
  22. dk::settings::setPairingId(pairingId);
  23. EventManager::start();
  24. Ultrasonic::enable();
  25. mainEventGroup->setBit(MainEvents::SET_ONLINE_MODE);
  26. }
  27. void clearPairing() {
  28. ESP_LOGI(TAG, "%s", __func__);
  29. Ultrasonic::disable();
  30. dk::settings::setPairingId("");
  31. wifi::stop();
  32. mainEventGroup->setBit(MainEvents::SET_PAIRING_MODE);
  33. EventManager::stop();
  34. }
  35. bool paired() {
  36. return !dk::settings::pairingId().empty();
  37. }
  38. // old stuff starts here
  39. void testNotification() {
  40. ESP_LOGI(TAG, "testNotification()");
  41. if (!paired()) {
  42. ESP_LOGI(TAG, " not paired");
  43. DisplayManager::setMessage("not paired", DisplayManager::defaultTimeout);
  44. return;
  45. }
  46. auto pairingId = dk::settings::pairingId();
  47. ESP_LOGI(TAG, " pairingId = %s", pairingId.c_str());
  48. auto client = http::Client(CONFIG_DK_HTTP_CLIENT_TIMEOUT);
  49. auto response = client.get(CONFIG_DK_SERVER_API_URL "/dev/test_notification",
  50. {{{"X-Pairing-ID", pairingId}}});
  51. ESP_LOGI(TAG, "test_notification response: %d", response->status);
  52. DisplayManager::setMessage("message sent", DisplayManager::defaultTimeout);
  53. }
  54. }