cancel
Showing results for 
Search instead for 
Did you mean: 

STM32C0316-DK-Brisk-Demo STM32 Git Hot Spot

S.Ma
Principal

This post is a constructive feedback channel for the STM32C0316-DK Brisk demo project.

Implemented Application Functions:

  • Alternative IO Drivers which can coexist with HAL's
  • STM32 Vdd and Temperature monitoring
  • Analog Keyboard (ADC, Debouncing)
  • LEDs (pulsing, dimming)
  • I2C Master by bit-banging (many slaves supported)
  • SPI Master by bit-banging
  • Android Bluetooth Electronics Support (UART + Dashboards)
  • Multiple companion chips support (may require add-on boards)
2 REPLIES 2
S.Ma
Principal
 
S.Ma
Principal

One pending bugfix (minor)

Location :

io_driver.c

Function:

int32_t IO_PadInit(IO_Pad_t* pIO ) { // this is for a single pin

  /* Configure the IO Output Type */  
  if(pIO->Config.Pull) {
    
    bfmask = ~(0x3<<(pad_position * 2));
    bfval = (pIO->Config.Pull-1) << (pad_position * 2);
    __set_PRIMASK(1);// atomic start
    tmp = (GPIOx->PUPDR & bfmask) | bfval; // was bugged with OTYPER
    GPIOx->PUPDR = tmp;
    __set_PRIMASK(primask);    // atomic end
  }

Found while bringing up a STM32H5 board with I2C bitbang bus without external pull-up installed and I2C slave address sweep.