File tree 2 files changed +83
-0
lines changed
2 files changed +83
-0
lines changed Original file line number Diff line number Diff line change
1
+ /* // TODO SPDX
2
+ */
3
+
4
+ #if !defined(ARDUINO_ARCH_MBED) && !defined(ESP32) && !defined(ARDUINO_SILABS) && !defined(ARDUINO_UNOR4_WIFI) || defined(TARGET_NANO_RP2040_CONNECT) // || defined(CORE_CM4)
5
+
6
+ #include " HCINinaSpiTransport.h"
7
+ #include < WiFiNINA.h>
8
+
9
+ int HCINinaSpiTransportClass::begin ()
10
+ {
11
+ WiFiDrv::wifiDriverInit ();
12
+ return WiFiDrv::bleBegin ();
13
+ }
14
+
15
+ void HCINinaSpiTransportClass::end ()
16
+ {
17
+ WiFiDrv::bleEnd ();
18
+ }
19
+
20
+ void HCINinaSpiTransportClass::wait (unsigned long timeout)
21
+ {
22
+ for (unsigned long start = millis (); (millis () - start) < timeout;) {
23
+ if (available ()) {
24
+ break ;
25
+ }
26
+ }
27
+ }
28
+
29
+ int HCINinaSpiTransportClass::available ()
30
+ {
31
+ return WiFiDrv::bleAvailable ();
32
+ }
33
+
34
+ int HCINinaSpiTransportClass::peek ()
35
+ {
36
+ int res=-1 ;
37
+ WiFiDrv::blePeek ((uint8_t *)&res, 1 ); // read a single byte, if nothing is returned we return -1
38
+
39
+ return res;
40
+ }
41
+
42
+ int HCINinaSpiTransportClass::read ()
43
+ {
44
+ int res=-1 ;
45
+ WiFiDrv::bleRead ((uint8_t *)&res, 1 ); // read a single byte, if nothing is returned we return -1
46
+
47
+ return res;
48
+ }
49
+
50
+ size_t HCINinaSpiTransportClass::write (const uint8_t * data, size_t length)
51
+ {
52
+ return WiFiDrv::bleWrite (data, length);
53
+ }
54
+
55
+ HCINinaSpiTransportClass HCINinaSpiTransport;
56
+ HCITransportInterface& HCITransport = HCINinaSpiTransport;
57
+
58
+ #endif
Original file line number Diff line number Diff line change
1
+ /* // TODO SPDX
2
+ */
3
+
4
+ #ifndef _HCI_SPI_TRANSPORT_H_
5
+ #define _HCI_SPI_TRANSPORT_H_
6
+
7
+ #include " HCITransport.h"
8
+
9
+ class HCINinaSpiTransportClass : public HCITransportInterface {
10
+ public:
11
+ HCINinaSpiTransportClass () {}
12
+
13
+ virtual int begin ();
14
+ virtual void end ();
15
+
16
+ virtual void wait (unsigned long timeout);
17
+
18
+ virtual int available ();
19
+ virtual int peek ();
20
+ virtual int read ();
21
+
22
+ virtual size_t write (const uint8_t * data, size_t length);
23
+ };
24
+
25
+ #endif
You can’t perform that action at this time.
0 commit comments