Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/flipperzero-firmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/targets/f7/furi_hal/furi_hal_bt_serial.c')
-rw-r--r--firmware/targets/f7/furi_hal/furi_hal_bt_serial.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/firmware/targets/f7/furi_hal/furi_hal_bt_serial.c b/firmware/targets/f7/furi_hal/furi_hal_bt_serial.c
new file mode 100644
index 00000000..9bdad5bf
--- /dev/null
+++ b/firmware/targets/f7/furi_hal/furi_hal_bt_serial.c
@@ -0,0 +1,54 @@
+#include "furi_hal_bt_serial.h"
+#include "dev_info_service.h"
+#include "battery_service.h"
+#include "serial_service.h"
+
+#include <furi.h>
+
+void furi_hal_bt_serial_start() {
+ // Start device info
+ if(!dev_info_svc_is_started()) {
+ dev_info_svc_start();
+ }
+ // Start battery service
+ if(!battery_svc_is_started()) {
+ battery_svc_start();
+ }
+ // Start Serial service
+ if(!serial_svc_is_started()) {
+ serial_svc_start();
+ }
+}
+
+void furi_hal_bt_serial_set_event_callback(
+ uint16_t buff_size,
+ FuriHalBtSerialCallback callback,
+ void* context) {
+ serial_svc_set_callbacks(buff_size, callback, context);
+}
+
+void furi_hal_bt_serial_notify_buffer_is_empty() {
+ serial_svc_notify_buffer_is_empty();
+}
+
+bool furi_hal_bt_serial_tx(uint8_t* data, uint16_t size) {
+ if(size > FURI_HAL_BT_SERIAL_PACKET_SIZE_MAX) {
+ return false;
+ }
+ return serial_svc_update_tx(data, size);
+}
+
+void furi_hal_bt_serial_stop() {
+ // Stop all services
+ if(dev_info_svc_is_started()) {
+ dev_info_svc_stop();
+ }
+ // Start battery service
+ if(battery_svc_is_started()) {
+ battery_svc_stop();
+ }
+ // Start Serial service
+ if(serial_svc_is_started()) {
+ serial_svc_stop();
+ }
+}