Skip to content

Commit dd9496d

Browse files
committed
[UART] Allow to enable HAL module only
Define `HAL_UART_MODULE_ONLY` in `build_opt.h` or `hal_conf_extra.h` allow HAL UART module usage without any usage by the core. Fixes #697 Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent eb85955 commit dd9496d

File tree

6 files changed

+13
-13
lines changed

6 files changed

+13
-13
lines changed

cores/arduino/HardwareSerial.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
#include "Arduino.h"
2727
#include "HardwareSerial.h"
2828

29-
#if defined(HAL_UART_MODULE_ENABLED)
29+
#if defined(HAL_UART_MODULE_ENABLED) && !defined(HAL_UART_MODULE_ONLY)
3030
#if defined(HAVE_HWSERIAL1) || defined(HAVE_HWSERIAL2) || defined(HAVE_HWSERIAL3) ||\
3131
defined(HAVE_HWSERIAL4) || defined(HAVE_HWSERIAL5) || defined(HAVE_HWSERIAL6) ||\
3232
defined(HAVE_HWSERIAL7) || defined(HAVE_HWSERIAL8) || defined(HAVE_HWSERIAL9) ||\
@@ -528,4 +528,4 @@ void HardwareSerial::enableHalfDuplexRx(void)
528528
}
529529
}
530530

531-
#endif // HAL_UART_MODULE_ENABLED
531+
#endif // HAL_UART_MODULE_ENABLED && !HAL_UART_MODULE_ONLY

cores/arduino/WSerial.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
extern void serialEventUSB(void) __attribute__((weak));
2222
#endif /* USBCON && USBD_USE_CDC */
2323

24-
#if defined(HAL_UART_MODULE_ENABLED)
24+
#if defined(HAL_UART_MODULE_ENABLED) && !defined(HAL_UART_MODULE_ONLY)
2525
#if !defined(HWSERIAL_NONE) && defined(SERIAL_UART_INSTANCE)
2626
#if SERIAL_UART_INSTANCE == 0
2727
#define ENABLE_HWSERIALLP1
@@ -163,7 +163,7 @@ extern void serialEvent8(void) __attribute__((weak));
163163
extern void serialEvent9(void) __attribute__((weak));
164164
extern void serialEvent10(void) __attribute__((weak));
165165
extern void serialEventLP1(void) __attribute__((weak));
166-
#endif /* HAL_UART_MODULE_ENABLED */
166+
#endif /* HAL_UART_MODULE_ENABLED && !HAL_UART_MODULE_ONLY */
167167

168168
extern void serialEventRun(void) __attribute__((weak));
169169

cores/arduino/stm32/low_power.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
extern "C" {
4646
#endif
4747

48-
#if defined(UART_IT_WUF) && defined(HAL_UART_MODULE_ENABLED)
48+
#if defined(UART_IT_WUF) && defined(HAL_UART_MODULE_ENABLED) && !defined(HAL_UART_MODULE_ONLY)
4949
/* Save UART handler for callback */
5050
static UART_HandleTypeDef *WakeUpUart = NULL;
5151
#endif
@@ -209,7 +209,7 @@ void LowPower_stop(serial_t *obj)
209209
{
210210
__disable_irq();
211211

212-
#if defined(UART_IT_WUF) && defined(HAL_UART_MODULE_ENABLED)
212+
#if defined(UART_IT_WUF) && defined(HAL_UART_MODULE_ENABLED) && !defined(HAL_UART_MODULE_ONLY)
213213
if (WakeUpUart != NULL) {
214214
HAL_UARTEx_EnableStopMode(WakeUpUart);
215215
}
@@ -232,7 +232,7 @@ void LowPower_stop(serial_t *obj)
232232

233233
/* Exit Stop mode reset clocks */
234234
SystemClock_ConfigFromStop();
235-
#if defined(UART_IT_WUF) && defined(HAL_UART_MODULE_ENABLED)
235+
#if defined(UART_IT_WUF) && defined(HAL_UART_MODULE_ENABLED) && !defined(HAL_UART_MODULE_ONLY)
236236
if (WakeUpUart != NULL) {
237237
/* In case of WakeUp from UART, reset its clock source to HSI */
238238
uart_config_lowpower(obj);
@@ -301,7 +301,7 @@ void LowPower_shutdown()
301301
*/
302302
void LowPower_EnableWakeUpUart(serial_t *serial, void (*FuncPtr)(void))
303303
{
304-
#if defined(UART_IT_WUF) && defined(HAL_UART_MODULE_ENABLED)
304+
#if defined(UART_IT_WUF) && defined(HAL_UART_MODULE_ENABLED) && !defined(HAL_UART_MODULE_ONLY)
305305
UART_WakeUpTypeDef WakeUpSelection;
306306
if (serial == NULL) {
307307
return;

cores/arduino/stm32/uart.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
#ifdef __cplusplus
4242
extern "C" {
4343
#endif
44-
#if defined(HAL_UART_MODULE_ENABLED)
44+
#if defined(HAL_UART_MODULE_ENABLED) && !defined(HAL_UART_MODULE_ONLY)
4545

4646
/* If DEBUG_UART is not defined assume this is the one linked to PIN_SERIAL_TX */
4747
#if !defined(DEBUG_UART)
@@ -1066,7 +1066,7 @@ void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart)
10661066
serial_t *obj = get_serial_obj(huart);
10671067
HAL_UART_Receive_IT(huart, &(obj->recv), 1);
10681068
}
1069-
#endif /* HAL_UART_MODULE_ENABLED */
1069+
#endif /* HAL_UART_MODULE_ENABLED && !HAL_UART_MODULE_ONLY */
10701070

10711071
#ifdef __cplusplus
10721072
}

cores/arduino/stm32/uart.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
extern "C" {
4646
#endif
4747

48-
#if !defined(HAL_UART_MODULE_ENABLED)
48+
#if !defined(HAL_UART_MODULE_ENABLED) || defined(HAL_UART_MODULE_ONLY)
4949
#define serial_t void*
5050
#else
5151

@@ -186,7 +186,7 @@ void uart_enable_rx(serial_t *obj);
186186

187187
size_t uart_debug_write(uint8_t *data, uint32_t size);
188188

189-
#endif /* HAL_UART_MODULE_ENABLED */
189+
#endif /* HAL_UART_MODULE_ENABLED && !HAL_UART_MODULE_ONLY */
190190
#ifdef __cplusplus
191191
}
192192
#endif

libraries/SrcWrapper/src/syscalls.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ int _read(UNUSED(int file), UNUSED(char *ptr), UNUSED(int len))
8484
__attribute__((weak))
8585
int _write(UNUSED(int file), char *ptr, int len)
8686
{
87-
#ifdef HAL_UART_MODULE_ENABLED
87+
#if defined(HAL_UART_MODULE_ENABLED) && !defined(HAL_UART_MODULE_ONLY)
8888
return uart_debug_write((uint8_t *)ptr, (uint32_t)len);
8989
#else
9090
(void)ptr;

0 commit comments

Comments
 (0)