/** * @file gadget_bridge.c * @author Anatole SCHRAMM-HENRY * @brief Source file implementing the API used to communicate/interact with the GadgetBridge Android application * over BLE. * @version 0.1 * @date 2023-04-05 * * @copyright Copyright (c) 2023 * */ #include "gadget_bridge.h" #include #include "ble_service.h" /* Internal function definition */ const char *_gadget_bridge_toast_type_2_str(gadget_bridge_toast_type_e toast_type); bool gadget_bridge_send_toast(gadget_bridge_toast_type_e toast_type, const char *message) { if(!message || !strlen(message)) return true; bool to_return = true; to_return &= ble_service_send_nus_data((const uint8_t *)"{\"t\":\"", 6); to_return &= ble_service_send_nus_data((const uint8_t *)_gadget_bridge_toast_type_2_str(toast_type), strlen(_gadget_bridge_toast_type_2_str(toast_type))); to_return &= ble_service_send_nus_data((const uint8_t *)"\",\"msg\",\"", 9); to_return &= ble_service_send_nus_data((const uint8_t *)message, strlen(message)); to_return &= ble_service_send_nus_data((const uint8_t *)"\"}\n", 3); return to_return; } /* Internal function declaration */ const char *_gadget_bridge_toast_type_2_str(gadget_bridge_toast_type_e toast_type) { switch(toast_type) { case GADGET_BRIDGE_TOAST_TYPE_ERROR: return "error"; case GADGET_BRIDGE_TOAST_TYPE_WARN: return "warn"; case GADGET_BRIDGE_TOAST_TYPE_INFO: default: return "info"; } }