Krolyxon
Commit 097b106

Branches

Tags

Refs →

orion-rffirmwareblemouse.cpp

68 lines · 1.4 KB · C++

1#include <Arduino.h>
2#include <BleMouse.h>
3#include "config.h"
4
5#include "buttons.h"
6#include "display.h"
7
8// ===== BLE MOUSE =====
9BleMouse bleMouse("Orion-RF", "Orion-RF", 100);
10
11// ===== MAIN =====
12void ble_mouse_run()
13{
14 bleMouse.begin();
15
16 // simple screen
17 u8g2.clearBuffer();
18 u8g2.setFont(u8g2_font_6x10_tr);
19 u8g2.drawStr(10, 25, "BLE Mouse");
20 u8g2.drawStr(10, 45, "Connecting...");
21 u8g2.sendBuffer();
22
23 delay(1000);
24
25 while (1)
26 {
27 if (btnBack()) break;
28
29 bool connected = bleMouse.isConnected();
30
31 int dx = 0;
32 int dy = 0;
33
34 if (connected)
35 {
36 if (!digitalRead(BTN_UP)) dy = -8;
37 if (!digitalRead(BTN_DOWN)) dy = 8;
38 if (!digitalRead(BTN_LEFT)) dx = -8;
39 if (!digitalRead(BTN_RIGHT)) dx = 8;
40
41 if (dx != 0 || dy != 0)
42 bleMouse.move(dx, dy);
43
44 if (!digitalRead(BTN_SELECT))
45 bleMouse.click(MOUSE_LEFT);
46
47 if (!digitalRead(BTN_BACK))
48 bleMouse.click(MOUSE_RIGHT);
49 }
50
51 // ===== UI =====
52 u8g2.clearBuffer();
53 u8g2.setFont(u8g2_font_6x10_tr);
54
55 u8g2.drawStr(10, 20, "BLE Mouse");
56
57 if (connected)
58 u8g2.drawStr(10, 35, "Status: Connected");
59 else
60 u8g2.drawStr(10, 35, "Status: Waiting");
61
62 u8g2.drawStr(10, 55, "BACK = Exit");
63
64 u8g2.sendBuffer();
65
66 delay(30);
67 }
68}