Skip to content

Commit f57528b

Browse files
committed
Support for Wio BG770A
1 parent d559538 commit f57528b

File tree

10 files changed

+52
-10
lines changed

10 files changed

+52
-10
lines changed

library.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ maintainer=matsujirushi
55
sentence=GroveDriverPack
66
paragraph=
77
category=Signal Input/Output
8-
url=https://github.com/SeeedJP/GroveDriverPack/blob/master/readme.md
9-
architectures=Seeed_STM32F4,stm32,SeeedJP_ReButton,samd
8+
url=https://github.com/SeeedJP/GroveDriverPack/blob/main/readme.md
9+
architectures=Seeed_STM32F4,stm32,SeeedJP_ReButton,samd,nrf52
1010
includes=GroveDriverPack.h

readme.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ Groveモジュールのクラスと、Grove対応ボードのクラスが用意
2020
* Arduino - SeeedJP ReButton by Seeed K.K.
2121
* [Wio Terminal](https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/)
2222
* Arduino - Seeed SAMD Boards by Seeed Studio
23+
* [Wio BG770A](https://seeedjp.github.io/Wiki/Wio_BG770A/home)
24+
* Arduino - SeeedJP nRF52 Boards by Seeed K.K.
2325

2426
### Groveモジュール
2527

src/Board/WIO_BG770A/GroveBoard.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#pragma once
2+
3+
#if defined ARDUINO_WIO_BG770A
4+
5+
#include <Wire.h>
6+
7+
class GroveBoard
8+
{
9+
public:
10+
GroveConnectorDIO Digital;
11+
GroveConnectorAnalogIn Analog;
12+
GroveConnectorI2C I2C;
13+
GroveConnectorUART UART;
14+
15+
public:
16+
GroveBoard(void) : Digital{D30, D31},
17+
Analog{A4, A5},
18+
I2C{&Wire},
19+
UART{&Serial1}
20+
{
21+
}
22+
};
23+
24+
#endif // ARDUINO_WIO_BG770A

src/GroveDriverPack.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,6 @@
7777
#include "Board/Seeed_ReButton/GroveBoard.h"
7878
#elif defined ARDUINO_WIO_TERMINAL
7979
#include "Board/WIO_TERMINAL/GroveBoard.h"
80+
#elif defined ARDUINO_WIO_BG770A
81+
#include "Board/WIO_BG770A/GroveBoard.h"
8082
#endif

src/HAL/Arduino/HalAnalogIn.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,19 @@ class HalAnalogIn : public HalAnalogInBase
2020
#if defined ARDUINO_ARCH_STM32F4 || defined ARDUINO_ARCH_STM32
2121
pinMode(_Pin, INPUT_ANALOG);
2222
#endif // ARDUINO_ARCH_STM32F4 || ARDUINO_ARCH_STM32
23+
24+
#if defined ARDUINO_ARCH_NRF52
25+
analogReadResolution(14);
26+
#endif // ARDUINO_ARCH_NRF52
2327
}
2428

2529
virtual float ReadImplement()
2630
{
31+
#if defined ARDUINO_ARCH_NRF52
32+
return (float)analogRead(_Pin) / 16383 * 0.6f * 6 / 3.3f;
33+
#else
2734
return (float)analogRead(_Pin) / 1023;
35+
#endif
2836
}
2937

3038
};

src/HAL/Arduino/HalGpio.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ class HalGpio : public HalGpioBase
2929
case MODE_OUTPUT_OPEN_DRAIN:
3030
pinMode(_Pin, OUTPUT_OPEN_DRAIN);
3131
break;
32-
#endif // ARDUINO_ARCH_STM32F4 || ARDUINO_ARCH_STM32
32+
#elif defined ARDUINO_ARCH_NRF52
33+
case MODE_OUTPUT_OPEN_DRAIN:
34+
pinMode(_Pin, OUTPUT_S0D1);
35+
break;
36+
#endif
3337
default:
3438
abort();
3539
}

src/HAL/Arduino/HalI2C.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#if defined ARDUINO_ARCH_STM32F4 || defined ARDUINO_ARCH_STM32 || defined ARDUINO_ARCH_SAMD
1+
#if defined ARDUINO_ARCH_STM32F4 || defined ARDUINO_ARCH_STM32 || defined ARDUINO_ARCH_SAMD || defined ARDUINO_ARCH_NRF52
22

33
#include "HalI2C.h"
44

@@ -31,4 +31,4 @@ int HalI2C::ReadImplement(int slaveAddress, uint8_t* data, int dataSize)
3131
return readSize;
3232
}
3333

34-
#endif // ARDUINO_ARCH_STM32F4 || ARDUINO_ARCH_STM32 || ARDUINO_ARCH_SAMD
34+
#endif // ARDUINO_ARCH_STM32F4 || ARDUINO_ARCH_STM32 || ARDUINO_ARCH_SAMD || ARDUINO_ARCH_NRF52

src/HAL/Arduino/HalUART.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#if defined ARDUINO_ARCH_STM32F4 || defined ARDUINO_ARCH_STM32 || defined ARDUINO_ARCH_SAMD
1+
#if defined ARDUINO_ARCH_STM32F4 || defined ARDUINO_ARCH_STM32 || defined ARDUINO_ARCH_SAMD || defined ARDUINO_ARCH_NRF52
22

33
#include "HalUART.h"
44

@@ -8,10 +8,12 @@ void HalUART::EnableImplement(int baudRate, int dataBit, ParityType parity, int
88
{
99
_Serial->begin(baudRate);
1010
}
11+
#ifndef ARDUINO_ARCH_NRF52
1112
else if (dataBit == 8 && parity == PARITY_ODD && stopBit == 1)
1213
{
1314
_Serial->begin(baudRate, SERIAL_8O1);
1415
}
16+
#endif // ARDUINO_ARCH_NRF52
1517
else if (dataBit == 8 && parity == PARITY_EVEN && stopBit == 1)
1618
{
1719
_Serial->begin(baudRate, SERIAL_8E1);
@@ -37,4 +39,4 @@ uint8_t HalUART::ReadImplement()
3739
return _Serial->read();
3840
}
3941

40-
#endif // ARDUINO_ARCH_STM32F4 || ARDUINO_ARCH_STM32 || ARDUINO_ARCH_SAMD
42+
#endif // ARDUINO_ARCH_STM32F4 || ARDUINO_ARCH_STM32 || ARDUINO_ARCH_SAMD || ARDUINO_ARCH_NRF52

src/HAL/Hal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
22

3-
#if defined ARDUINO_ARCH_STM32F4 || defined ARDUINO_ARCH_STM32 || defined ARDUINO_ARCH_SAMD
3+
#if defined ARDUINO_ARCH_STM32F4 || defined ARDUINO_ARCH_STM32 || defined ARDUINO_ARCH_SAMD || defined ARDUINO_ARCH_NRF52
44

55
#define HalPlatformPinType int
66
#define HalPlatformUartType HardwareSerial

src/HAL/HalGpioBase.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ class HalGpioBase
1212
{
1313
MODE_INPUT,
1414
MODE_OUTPUT,
15-
#if defined ARDUINO_ARCH_STM32F4 || defined ARDUINO_ARCH_STM32 || defined __MBED__
15+
#if defined ARDUINO_ARCH_STM32F4 || defined ARDUINO_ARCH_STM32 || defined ARDUINO_ARCH_NRF52 || defined __MBED__
1616
MODE_OUTPUT_OPEN_DRAIN,
17-
#endif // ARDUINO_ARCH_STM32F4 || ARDUINO_ARCH_STM32 || __MBED__
17+
#endif // ARDUINO_ARCH_STM32F4 || ARDUINO_ARCH_STM32 || ARDUINO_ARCH_NRF52 || __MBED__
1818
};
1919

2020
private:

0 commit comments

Comments
 (0)