Skip to content

Commit 9be5c8e

Browse files
Add support for GSM and GPS libraries
1 parent 99f8ba8 commit 9be5c8e

File tree

16 files changed

+84
-25
lines changed

16 files changed

+84
-25
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,6 @@
44
[submodule "mbed-os"]
55
path = mbed-os
66
url = https://github.com/mbed-ce/mbed-os.git
7+
[submodule "libraries/GPS/MicroNMEA"]
8+
path = libraries/GPS/MicroNMEA
9+
url = https://github.com/stevemarple/MicroNMEA.git

.idea/vcs.xml

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ include(mbed-os/tools/cmake/mbed_toolchain_setup.cmake)
1111

1212
project(ArduinoCore-mbed-ce
1313
LANGUAGES C CXX ASM
14-
VERSION 1.2.1) # This is the version of the Mbed CE Arduino core, not of Mbed CE
14+
VERSION 1.3.0) # This is the version of the Mbed CE Arduino core, not of Mbed CE
1515

1616
include(mbed_project_setup)
1717

@@ -81,6 +81,9 @@ set(MBED_LIBS_TO_INSTALL
8181
mbed-storage-littlefs-v2
8282
mbed-storage-securestore
8383
mbed-storage-tdbstore
84+
85+
# Cellular
86+
mbed-cellular
8487
)
8588

8689
if("DEVICE_USBDEVICE=1" IN_LIST MBED_TARGET_DEFINITIONS)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
set(ARDUINO_CAN_SOURCES
2+
src/Arduino_CAN.cpp)
3+
4+
add_library(arduino-Arduino_CAN STATIC ${ARDUINO_CAN_SOURCES})
5+
target_link_libraries(arduino-Arduino_CAN PUBLIC arduino-core)
6+
target_include_directories(arduino-Arduino_CAN PUBLIC src)
7+
8+
build_arduino_examples(Arduino_CAN examples)
9+
10+
install(DIRECTORY . DESTINATION libraries/Arduino_CAN)

libraries/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,16 @@ if("ARDUINO_PORTENTA_H7" IN_LIST MBED_TARGET_LABELS)
6161
add_subdirectory(USBAudio)
6262
add_subdirectory(KernelDebug)
6363
add_subdirectory(Ethernet)
64+
add_subdirectory(Arduino_CAN)
65+
add_subdirectory(GSM)
66+
add_subdirectory(GPS)
6467
# TODO add missing libraries for Portenta
6568
# add_subdirectory(PDM)
6669
# add_subdirectory(Arduino_H7_Video)
6770
# add_subdirectory(Himax_HM01B0)
6871
# add_subdirectory(Himax_HM0360)
6972
# add_subdirectory(Portenta_Audio)
7073
# add_subdirectory(RPC)
71-
# add_subdirectory(GSM)
7274
# add_subdirectory(Portenta_lvgl)
7375
# add_subdirectory(Camera)
7476
# add_subdirectory(rpclib)
@@ -77,7 +79,7 @@ if("ARDUINO_PORTENTA_H7" IN_LIST MBED_TARGET_LABELS)
7779
# add_subdirectory(Portenta_SDCARD)
7880
# add_subdirectory(GPS)
7981
# add_subdirectory(MCUboot)
80-
# add_subdirectory(Arduino_CAN)
82+
#
8183
endif()
8284

8385
# Libraries for all targets

libraries/GPS/CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
set(GPS_SOURCES
2+
src/GPS.cpp
3+
MicroNMEA/src/MicroNMEA.cpp)
4+
5+
add_library(arduino-GPS STATIC ${GPS_SOURCES})
6+
target_link_libraries(arduino-GPS PUBLIC arduino-core arduino-GSM)
7+
target_include_directories(arduino-GPS PUBLIC src MicroNMEA/src)
8+
9+
install(DIRECTORY . DESTINATION libraries/GPS)
10+
install(FILES MicroNMEA/src/MicroNMEA.cpp MicroNMEA/src/MicroNMEA.h DESTINATION libraries/GPS)

libraries/GSM/CMakeLists.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
set(GSM_SOURCES
2+
src/buffercmux.c
3+
src/CMUXClass.cpp
4+
src/GSM.cpp
5+
src/GSMClient.cpp
6+
src/GSMDebug.cpp
7+
src/GSMSSLClient.cpp
8+
src/GSMTrace.cpp
9+
src/PTYSerial.cpp)
10+
11+
add_library(arduino-GSM STATIC ${GSM_SOURCES})
12+
target_link_libraries(arduino-GSM PUBLIC arduino-core arduino-SocketWrapper mbed-cellular)
13+
target_include_directories(arduino-GSM PUBLIC src)
14+
15+
build_arduino_examples(GSM examples)
16+
target_link_libraries(GSM-example-GNSSClient arduino-GPS)
17+
target_link_libraries(GSM-example-MicroNMEA_integration arduino-GPS)
18+
19+
install(DIRECTORY . DESTINATION libraries/GSM)

libraries/GSM/examples/GSMClient/GSMClient.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ void setup() {
2727
//GSM.setTraceLevel(4);
2828

2929
Serial.println("Starting Carrier Network registration");
30-
if(!GSM.begin(pin, apn, username, pass, CATNB, BAND_20 | BAND_19)){
30+
if(!GSM.begin(pin, apn, username, pass, CATNB)){
3131
Serial.println("The board was not able to register to the network...");
3232
// do nothing forevermore:
3333
while(1);

libraries/GSM/examples/GSMSSLClient/GSMSSLClient.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ void setup() {
4242
//GSM.setTraceLevel(4);
4343

4444
Serial.println("Starting Carrier Network registration");
45-
if(!GSM.begin(pin, apn, username, pass, CATM1, BAND_3 | BAND_20 | BAND_19)){
45+
if(!GSM.begin(pin, apn, username, pass, CATM1)){
4646
Serial.println("The board was not able to register to the network...");
4747
// do nothing forevermore:
4848
while(1);

libraries/GSM/src/CMUXClass.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class CMUXClass {
5151
private:
5252
void api_lock();
5353
void api_unlock();
54-
PlatformMutex _mutex;
54+
rtos::Mutex _mutex;
5555
bool _cmuxFlag = false;
5656
int id;
5757
mbed::CircularBuffer<char, 1500> rx_buffer;

0 commit comments

Comments
 (0)