File tree Expand file tree Collapse file tree 2 files changed +83
-0
lines changed Expand file tree Collapse file tree 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