Skip to content

Commit dd8089a

Browse files
authored
Merge pull request #365 from arduino-libraries/c33
Add support for PORTENTA C33
2 parents dc80f9e + d85a55c commit dd8089a

File tree

4 files changed

+50
-4
lines changed

4 files changed

+50
-4
lines changed

Diff for: src/AIoTC_Config.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
#define HAS_TCP
127127
#endif
128128

129-
#if defined(ARDUINO_NICLA_VISION)
129+
#if defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_PORTENTA_C33)
130130
#define BOARD_HAS_SE050
131131
#define HAS_TCP
132132
#endif

Diff for: src/ArduinoIoTCloudTCP.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,9 @@ int ArduinoIoTCloudTCP::begin(bool const enable_watchdog, String brokerAddress,
166166

167167
#if defined(BOARD_HAS_ECCX08)
168168
_sslClient.setClient(_connection->getClient());
169+
#elif defined(ARDUINO_PORTENTA_C33)
170+
_sslClient.setClient(_connection->getClient());
171+
_sslClient.setCACert(AIoTSSCert);
169172
#elif defined(BOARD_HAS_SE050)
170173
_sslClient.appendCustomCACert(AIoTSSCert);
171174
#elif defined(BOARD_ESP)

Diff for: src/ArduinoIoTCloudTCP.h

+7
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
#include "tls/utility/CryptoUtil.h"
3232
#elif defined(BOARD_ESP)
3333
#include <WiFiClientSecure.h>
34+
#elif defined(ARDUINO_PORTENTA_C33)
35+
#include "tls/utility/CryptoUtil.h"
36+
#include <SSLClient.h>
3437
#elif defined(BOARD_HAS_SE050)
3538
#include "tls/utility/CryptoUtil.h"
3639
#include <WiFiSSLSE050Client.h>
@@ -146,6 +149,10 @@ class ArduinoIoTCloudTCP: public ArduinoIoTCloudClass
146149
#elif defined(BOARD_ESP)
147150
WiFiClientSecure _sslClient;
148151
String _password;
152+
#elif defined(ARDUINO_PORTENTA_C33)
153+
ArduinoIoTCloudCertClass _cert;
154+
SSLClient _sslClient;
155+
CryptoUtil _crypto;
149156
#elif defined(BOARD_HAS_SE050)
150157
ArduinoIoTCloudCertClass _cert;
151158
WiFiSSLSE050Client _sslClient;

Diff for: src/utility/time/TimeService.cpp

+39-3
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@
3838
#include "RTCMillis.h"
3939
#endif
4040

41+
#ifdef ARDUINO_ARCH_RENESAS
42+
#include "RTC.h"
43+
#endif
44+
4145
/**************************************************************************************
4246
* GLOBAL VARIABLES
4347
**************************************************************************************/
@@ -86,6 +90,12 @@ void esp8266_setRTC(unsigned long time);
8690
unsigned long esp8266_getRTC();
8791
#endif
8892

93+
#ifdef ARDUINO_ARCH_RENESAS
94+
void renesas_initRTC();
95+
void renesas_setRTC(unsigned long time);
96+
unsigned long renesas_getRTC();
97+
#endif
98+
8999
/**************************************************************************************
90100
* CONSTANTS
91101
**************************************************************************************/
@@ -330,8 +340,10 @@ void TimeServiceClass::initRTC()
330340
stm32h7_initRTC();
331341
#elif defined (ARDUINO_ARCH_ESP32)
332342
esp32_initRTC();
333-
#elif ARDUINO_ARCH_ESP8266
343+
#elif defined (ARDUINO_ARCH_ESP8266)
334344
esp8266_initRTC();
345+
#elif defined (ARDUINO_ARCH_RENESAS)
346+
renesas_initRTC();
335347
#else
336348
#error "RTC not available for this architecture"
337349
#endif
@@ -347,8 +359,10 @@ void TimeServiceClass::setRTC(unsigned long time)
347359
stm32h7_setRTC(time);
348360
#elif defined (ARDUINO_ARCH_ESP32)
349361
esp32_setRTC(time);
350-
#elif ARDUINO_ARCH_ESP8266
362+
#elif defined (ARDUINO_ARCH_ESP8266)
351363
esp8266_setRTC(time);
364+
#elif defined (ARDUINO_ARCH_RENESAS)
365+
renesas_setRTC(time);
352366
#else
353367
#error "RTC not available for this architecture"
354368
#endif
@@ -364,8 +378,10 @@ unsigned long TimeServiceClass::getRTC()
364378
return stm32h7_getRTC();
365379
#elif defined (ARDUINO_ARCH_ESP32)
366380
return esp32_getRTC();
367-
#elif ARDUINO_ARCH_ESP8266
381+
#elif defined (ARDUINO_ARCH_ESP8266)
368382
return esp8266_getRTC();
383+
#elif defined (ARDUINO_ARCH_RENESAS)
384+
return renesas_getRTC();
369385
#else
370386
#error "RTC not available for this architecture"
371387
#endif
@@ -491,6 +507,26 @@ unsigned long esp8266_getRTC()
491507
}
492508
#endif
493509

510+
#ifdef ARDUINO_ARCH_RENESAS
511+
void renesas_initRTC()
512+
{
513+
RTC.begin();
514+
}
515+
516+
void renesas_setRTC(unsigned long time)
517+
{
518+
RTCTime t(time);
519+
RTC.setTime(t);
520+
}
521+
522+
unsigned long renesas_getRTC()
523+
{
524+
RTCTime t;
525+
RTC.getTime(t);
526+
return t.getUnixTime();
527+
}
528+
#endif
529+
494530
/******************************************************************************
495531
* EXTERN DEFINITION
496532
******************************************************************************/

0 commit comments

Comments
 (0)