Skip to content

Fix cppcheck errors #79

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Apr 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ repos:
hooks:
- id: codeformat-c-cpp
name: Running clang formatter for changed C/ C++ files
entry: extras/makers-devops/tools/code_checks/run_clang_format.sh ./cores/psoc/*
entry: extras/makers-devops/tools/code_checks/run_clang_format.sh ./cores/psoc/* ./libraries/*
language: system
- id: codeformat-python
name: Running black formatter for changed python scripts files
Expand Down
3 changes: 3 additions & 0 deletions config/project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ check:
tool: cppcheck
command: extras/makers-devops/tools/code_checks/run_cppcheck.sh ./cores/psoc6/* ./libraries/*
| -I extras/arduino-core-api/api/ -I variants/CY8CKIT-062S2-AI/mtb-bsp -I extras/mtb-libs/core-lib/include
| -I libraries/WiFi/src -I libraries/Wire/src -I libraries/SPI/src -I extras/mtb-libs/mtb-hal-cat1/include
| -I extras/mtb-libs/wifi-connection-manager/include --suppress=*:extras/mtb-libs/wifi-connection-manager/include*
| -I variants/CY8CKIT-062S2-AI -I cores/psoc6 --suppress=*:variants/CY8CKIT-062S2-AI/* --suppress=*:extras/mtb-libs/mtb-hal-cat1/include/*
| --suppress=*:extras/arduino-core-api/api/* --suppress=*:variants/CY8CKIT-062S2-AI/mtb-bsp/* --suppress=*:extras/mtb-libs/core-lib/include/*

clang-format:
Expand Down
4 changes: 4 additions & 0 deletions cores/psoc6/Arduino.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ enum {

#define abs(x) ((x) > 0 ? (x) : -(x))

#ifndef nullptr
#define nullptr 0
#endif

// Globally enable or disable interrupts
#define interrupts() __enable_irq()
#define noInterrupts() __disable_irq()
Expand Down
10 changes: 5 additions & 5 deletions cores/psoc6/Uart.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#undef Serial
#endif

Uart *Uart::g_uarts[MAX_UARTS] = {nullptr};
Uart* Uart::g_uarts[MAX_UARTS] = {nullptr};

Uart::Uart(cyhal_gpio_t tx, cyhal_gpio_t rx, cyhal_gpio_t cts, cyhal_gpio_t rts)
: tx_pin(tx),
Expand Down Expand Up @@ -120,16 +120,16 @@ size_t Uart::write(uint8_t c) {
return 1;
}

size_t Uart::write(const uint8_t *buffer, size_t size) {
cy_rslt_t result = cyhal_uart_write(&uart_obj, (void *)buffer, &size);
size_t Uart::write(const uint8_t* buffer, size_t size) {
cy_rslt_t result = cyhal_uart_write(&uart_obj, (void*)buffer, &size);
if (result != CY_RSLT_SUCCESS) {
return 0;
}
return size;
}

void Uart::uart_event_handler(void *handler_arg, cyhal_uart_event_t event) {
Uart *uart = static_cast<Uart *>(handler_arg);
void Uart::uart_event_handler(void* handler_arg, cyhal_uart_event_t event) {
Uart* uart = static_cast<Uart*>(handler_arg);
uart->IrqHandler();
}

Expand Down
6 changes: 3 additions & 3 deletions cores/psoc6/Uart.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ enum { MAX_UARTS = 10 };

class Uart : public arduino::HardwareSerial {
public:
static Uart *g_uarts[MAX_UARTS];
static Uart* g_uarts[MAX_UARTS];
Uart(cyhal_gpio_t tx, cyhal_gpio_t rx, cyhal_gpio_t cts, cyhal_gpio_t rts);
void begin(unsigned long baud) override;
void begin(unsigned long baud, uint16_t config) override;
Expand All @@ -20,7 +20,7 @@ class Uart : public arduino::HardwareSerial {
int read() override;
void flush() override;
size_t write(uint8_t c) override;
virtual size_t write(const uint8_t *buffer, size_t size);
virtual size_t write(const uint8_t* buffer, size_t size);

size_t write(unsigned long n) {
return write(static_cast<uint8_t>(n));
Expand All @@ -44,7 +44,7 @@ class Uart : public arduino::HardwareSerial {
return true;
}

static void uart_event_handler(void *handler_arg, cyhal_uart_event_t event);
static void uart_event_handler(void* handler_arg, cyhal_uart_event_t event);

private:
cyhal_gpio_t tx_pin{};
Expand Down
3 changes: 1 addition & 2 deletions cores/psoc6/digital_io.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@ void pinMode(pin_size_t pinNumber, PinMode pinMode) {
cyhal_gpio_drive_mode_t drive_mode;
bool initPinValue = false;

switch (pinMode)
{
switch (pinMode) {
case INPUT:
direction = CYHAL_GPIO_DIR_INPUT;
drive_mode = CYHAL_GPIO_DRIVE_NONE;
Expand Down
2 changes: 1 addition & 1 deletion cores/psoc6/interrupts.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ void attachInterrupt(pin_size_t interruptNumber, voidFuncPtr callback, PinStatus
break;
}

gpio_callback_data.callback = (void (*)(void *, cyhal_gpio_event_t))callback;
gpio_callback_data.callback = (void (*)(void*, cyhal_gpio_event_t))callback;
cyhal_gpio_register_callback(pin, &gpio_callback_data);
cyhal_gpio_enable_event(pin, event, GPIO_INTERRUPT_PRIORITY, true);
}
Expand Down
4 changes: 2 additions & 2 deletions cores/psoc6/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

TaskHandle_t arduino_main_task_handle;

void arduino_main_task(void *arg);
void arduino_main_task(void* arg);

// Weak empty variant initialization function.
// May be redefined by variant files.
Expand Down Expand Up @@ -63,7 +63,7 @@ int main() {
return 0;
}

void arduino_main_task(void *arg) {
void arduino_main_task(void* arg) {

/* Enable global interrupts */
interrupts();
Expand Down
2 changes: 1 addition & 1 deletion extras/makers-devops
57 changes: 37 additions & 20 deletions libraries/SPI/src/SPI.cpp
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
#include "SPI.h"

#define spi_assert(cy_ret) if (cy_ret != CY_RSLT_SUCCESS) { \
return; \
}
#define spi_assert(cy_ret) \
if (cy_ret != CY_RSLT_SUCCESS) { \
return; \
}

SPIClassPSOC::SPIClassPSOC(pin_size_t mosi, pin_size_t miso, pin_size_t sck, pin_size_t ssel, bool is_slave)
: _mosi_pin(mosi), _miso_pin(miso), _sck_pin(sck), _is_slave(is_slave), _is_initialized(false) {
SPIClassPSOC::SPIClassPSOC(
pin_size_t mosi, pin_size_t miso, pin_size_t sck, pin_size_t ssel, bool is_slave)
: _mosi_pin(mosi),
_miso_pin(miso),
_sck_pin(sck),
_is_slave(is_slave),
_is_initialized(false) {
_ssel_pin = _is_slave ? ssel : NC;
}

Expand All @@ -17,7 +23,9 @@ void SPIClassPSOC::begin() {
if (_is_initialized) {
return;
}
status = cyhal_spi_init(&_spi_obj, mapping_gpio_pin[_mosi_pin], mapping_gpio_pin[_miso_pin], mapping_gpio_pin[_sck_pin], mapping_gpio_pin[_ssel_pin], NULL, 8, getSpiMode(), _is_slave);
status = cyhal_spi_init(&_spi_obj, mapping_gpio_pin[_mosi_pin], mapping_gpio_pin[_miso_pin],
mapping_gpio_pin[_sck_pin], mapping_gpio_pin[_ssel_pin], NULL, 8,
getSpiMode(), _is_slave);

spi_assert(status);
status = cyhal_spi_set_frequency(&_spi_obj, _settings.getClockFreq());
Expand All @@ -39,16 +47,20 @@ cyhal_spi_mode_t SPIClassPSOC::getSpiMode() const {

switch (_settings.getDataMode()) {
case SPI_MODE0:
mode = (_settings.getBitOrder() == MSBFIRST) ? CYHAL_SPI_MODE_00_MSB : CYHAL_SPI_MODE_00_LSB;
mode = (_settings.getBitOrder() == MSBFIRST) ? CYHAL_SPI_MODE_00_MSB
: CYHAL_SPI_MODE_00_LSB;
break;
case SPI_MODE1:
mode = (_settings.getBitOrder() == MSBFIRST) ? CYHAL_SPI_MODE_01_MSB : CYHAL_SPI_MODE_01_LSB;
mode = (_settings.getBitOrder() == MSBFIRST) ? CYHAL_SPI_MODE_01_MSB
: CYHAL_SPI_MODE_01_LSB;
break;
case SPI_MODE2:
mode = (_settings.getBitOrder() == MSBFIRST) ? CYHAL_SPI_MODE_10_MSB : CYHAL_SPI_MODE_10_LSB;
mode = (_settings.getBitOrder() == MSBFIRST) ? CYHAL_SPI_MODE_10_MSB
: CYHAL_SPI_MODE_10_LSB;
break;
case SPI_MODE3:
mode = (_settings.getBitOrder() == MSBFIRST) ? CYHAL_SPI_MODE_11_MSB : CYHAL_SPI_MODE_11_LSB;
mode = (_settings.getBitOrder() == MSBFIRST) ? CYHAL_SPI_MODE_11_MSB
: CYHAL_SPI_MODE_11_LSB;
break;
default:
break;
Expand All @@ -64,11 +76,14 @@ byte SPIClassPSOC::transfer(uint8_t data) {
}

uint16_t SPIClassPSOC::transfer16(uint16_t data) {
// Union to split 16-bit data into two 8-bit data
union { uint16_t val;
struct { uint8_t lsb;
uint8_t msb;
};
// Union to split 16-bit data into two 8-bit data
union {
uint16_t val;

struct {
uint8_t lsb;
uint8_t msb;
};
} data_in_out;

data_in_out.val = data;
Expand All @@ -84,9 +99,9 @@ uint16_t SPIClassPSOC::transfer16(uint16_t data) {
return data_in_out.val;
}

void SPIClassPSOC::transfer(void *buf, size_t count) {
uint8_t *buffer = reinterpret_cast < uint8_t * > (buf);
const uint8_t *tx_buf;
void SPIClassPSOC::transfer(void* buf, size_t count) {
uint8_t* buffer = reinterpret_cast<uint8_t*>(buf);
const uint8_t* tx_buf;
uint8_t tx_temp_buf[count];

memcpy(tx_temp_buf, buffer, count);
Expand All @@ -107,11 +122,13 @@ void SPIClassPSOC::notUsingInterrupt(int interruptNumber) {
}

void SPIClassPSOC::attachInterrupt() {
// Since SPI transfer functions rely on interrupts, attaching a separate interrupt is not applicable.
// Since SPI transfer functions rely on interrupts, attaching a separate interrupt is not
// applicable.
}

void SPIClassPSOC::detachInterrupt() {
// Detaching interrupts is not applicable as SPI transfer functions are already interrupt-driven.
// Detaching interrupts is not applicable as SPI transfer functions are already
// interrupt-driven.
}

void SPIClassPSOC::setDataMode(uint8_t dataMode) {
Expand Down
15 changes: 10 additions & 5 deletions libraries/SPI/src/SPI.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@
#define SPI_H

#include "Arduino.h"
#include "cyhal_spi.h"
#include "api/HardwareSPI.h"
#include "cyhal_spi.h"

#define ARDUINO_SPI_CLOCK 1000000

class SPIClassPSOC: public arduino::HardwareSPI {
class SPIClassPSOC : public arduino::HardwareSPI {
public:
SPIClassPSOC(pin_size_t mosi, pin_size_t miso, pin_size_t sck, pin_size_t ssel = SPI1_SSEL_PIN_DEFAULT, bool is_slave = false);
SPIClassPSOC(pin_size_t mosi,
pin_size_t miso,
pin_size_t sck,
pin_size_t ssel = SPI1_SSEL_PIN_DEFAULT,
bool is_slave = false);
~SPIClassPSOC();

virtual byte transfer(uint8_t data);
virtual uint16_t transfer16(uint16_t data);
virtual void transfer(void *buf, size_t count);
virtual void transfer(void* buf, size_t count);

virtual void usingInterrupt(int interruptNumber);
virtual void notUsingInterrupt(int interruptNumber);
Expand All @@ -34,7 +38,8 @@ class SPIClassPSOC: public arduino::HardwareSPI {
cy_rslt_t status = CY_RSLT_TYPE_ERROR;

private:
arduino::SPISettings const DEFAULT_SPI_SETTINGS = arduino::SPISettings(ARDUINO_SPI_CLOCK, MSBFIRST, arduino::SPI_MODE0);
arduino::SPISettings const DEFAULT_SPI_SETTINGS =
arduino::SPISettings(ARDUINO_SPI_CLOCK, MSBFIRST, arduino::SPI_MODE0);

cyhal_spi_mode_t getSpiMode() const;

Expand Down
Loading
Loading