Re: STM Nucleo-32 board - I2C functionality

2023-09-26 Thread Stewart Charnell

Hi Daniel,

Thanks for PR #10753, yes that fixed the problem for me. I am using a 
PCB with the ina260 sensor in place of the ina226, similar functionality 
and  I2C address.


I am working on a driver for the ina260 which I can submit once I have 
completed more tests.


Kind regards

Stewart

On 25/09/2023 21:52, Stewart Charnell wrote:

Hi Daniel,

Sorry for not replying earlier, I was away for the weekend. I will 
test out PR #10753 tomorrow.


Kind regards

Stewart

On 21/09/2023 15:13, Daniel Pereira Carvalho wrote:

Hi Stewart,


You are right, there is a mistake regarding pin definitions in the file
boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c. I tried to fix 
these
pin definitions on PR #10753 but I can't test them. Are you able to 
test it?


Thanks

Daniel Pereira de Carvalho


Em qua., 20 de set. de 2023 às 13:42, Stewart Charnell <
nu...@charnell.plus.com> escreveu:


Hi,

Has anyone used the I2C functionality on the STM Nucleo-32 board (it
uses the STM32L432 processor)? I think there is an issue with the file
boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c.

This board can support Arduino NANO pinout compatibility by using links
on the PCB.
Section '6.10 Solder bridges' of doc. 'UM1956 User manual STM32
Nucleo-32 boards (MB1180)' details these links.

One option for the I2C1 interface is to use STM32L432 pins PB_7
(function I2C1_SDA, PCB pin D4) & PA_6 (function I2C1_SCL, PCB pin D5),
which are linked by solder bridges on the PCB to STM32L432 pins PA_6
(PCB pin A5) & PA_5 (PCB pin A4) to maintain Arduino NANO pinout
compatibility.

The webpage os.mbed.com/platforms/ST-Nucleo-L432KC has a picture of the
PCB showing the pinout options, and this Information:

By default the PA_5 (A4) and PA_6 (A5) pins can only be used as Input
floating (ADC function).
Remove SB16 and SB18 solder bridges in order to use these pins as
Digital output and have access
to other functions (DigitalOut, SPI, PWM, etc...).

The file boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c contains
these lines:

 /* Configure D4(PA5) and D5(PA6) as input floating */

 stm32l4_configgpio(GPIO_I2C1_D4);
 stm32l4_configgpio(GPIO_I2C1_D5);

Where GPIO_I2C1_D4 & GPIO_I2C1_D5 are defined in
boards/arm/stm32l4/nucleo-l432kc/include/board.h

However the device pins PA5 and PA6 correspond to PCB pins A4 and A5
respectively, not PCB pins D4 and D5.
These calls to the stm32l4_configgpio functions cause the I2C1 lines to
be disabled.

Kind regards

Stewart Charnell





Re: STM Nucleo-32 board - I2C functionality

2023-09-25 Thread Stewart Charnell

Hi Daniel,

Sorry for not replying earlier, I was away for the weekend. I will test 
out PR #10753 tomorrow.


Kind regards

Stewart

On 21/09/2023 15:13, Daniel Pereira Carvalho wrote:

Hi Stewart,


You are right, there is a mistake regarding pin definitions in the file
boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c. I tried to fix these
pin definitions on PR #10753 but I can't test them. Are you able to test it?

Thanks

Daniel Pereira de Carvalho


Em qua., 20 de set. de 2023 às 13:42, Stewart Charnell <
nu...@charnell.plus.com> escreveu:


Hi,

Has anyone used the I2C functionality on the STM Nucleo-32 board (it
uses the STM32L432 processor)? I think there is an issue with the file
boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c.

This board can support Arduino NANO pinout compatibility by using links
on the PCB.
Section '6.10 Solder bridges' of doc. 'UM1956 User manual STM32
Nucleo-32 boards (MB1180)' details these links.

One option for the I2C1 interface is to use STM32L432 pins PB_7
(function I2C1_SDA, PCB pin D4) & PA_6 (function I2C1_SCL, PCB pin D5),
which are linked by solder bridges on the PCB to STM32L432 pins PA_6
(PCB pin A5) & PA_5 (PCB pin A4) to maintain Arduino NANO pinout
compatibility.

The webpage os.mbed.com/platforms/ST-Nucleo-L432KC has a picture of the
PCB showing the pinout options, and this Information:

By default the PA_5 (A4) and PA_6 (A5) pins can only be used as Input
floating (ADC function).
Remove SB16 and SB18 solder bridges in order to use these pins as
Digital output and have access
to other functions (DigitalOut, SPI, PWM, etc...).

The file boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c contains
these lines:

 /* Configure D4(PA5) and D5(PA6) as input floating */

 stm32l4_configgpio(GPIO_I2C1_D4);
 stm32l4_configgpio(GPIO_I2C1_D5);

Where GPIO_I2C1_D4 & GPIO_I2C1_D5 are defined in
boards/arm/stm32l4/nucleo-l432kc/include/board.h

However the device pins PA5 and PA6 correspond to PCB pins A4 and A5
respectively, not PCB pins D4 and D5.
These calls to the stm32l4_configgpio functions cause the I2C1 lines to
be disabled.

Kind regards

Stewart Charnell





Re: STM Nucleo-32 board - I2C functionality

2023-09-21 Thread Daniel Pereira Carvalho
Hi Stewart,


You are right, there is a mistake regarding pin definitions in the file
boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c. I tried to fix these
pin definitions on PR #10753 but I can't test them. Are you able to test it?

Thanks

Daniel Pereira de Carvalho


Em qua., 20 de set. de 2023 às 13:42, Stewart Charnell <
nu...@charnell.plus.com> escreveu:

> Hi,
>
> Has anyone used the I2C functionality on the STM Nucleo-32 board (it
> uses the STM32L432 processor)? I think there is an issue with the file
> boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c.
>
> This board can support Arduino NANO pinout compatibility by using links
> on the PCB.
> Section '6.10 Solder bridges' of doc. 'UM1956 User manual STM32
> Nucleo-32 boards (MB1180)' details these links.
>
> One option for the I2C1 interface is to use STM32L432 pins PB_7
> (function I2C1_SDA, PCB pin D4) & PA_6 (function I2C1_SCL, PCB pin D5),
> which are linked by solder bridges on the PCB to STM32L432 pins PA_6
> (PCB pin A5) & PA_5 (PCB pin A4) to maintain Arduino NANO pinout
> compatibility.
>
> The webpage os.mbed.com/platforms/ST-Nucleo-L432KC has a picture of the
> PCB showing the pinout options, and this Information:
>
> By default the PA_5 (A4) and PA_6 (A5) pins can only be used as Input
> floating (ADC function).
> Remove SB16 and SB18 solder bridges in order to use these pins as
> Digital output and have access
> to other functions (DigitalOut, SPI, PWM, etc...).
>
> The file boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c contains
> these lines:
>
> /* Configure D4(PA5) and D5(PA6) as input floating */
>
> stm32l4_configgpio(GPIO_I2C1_D4);
> stm32l4_configgpio(GPIO_I2C1_D5);
>
> Where GPIO_I2C1_D4 & GPIO_I2C1_D5 are defined in
> boards/arm/stm32l4/nucleo-l432kc/include/board.h
>
> However the device pins PA5 and PA6 correspond to PCB pins A4 and A5
> respectively, not PCB pins D4 and D5.
> These calls to the stm32l4_configgpio functions cause the I2C1 lines to
> be disabled.
>
> Kind regards
>
> Stewart Charnell
>
>
>


Re: STM Nucleo-32 board - I2C functionality

2023-09-20 Thread Alan C. Assis
Hi Stewart,

On 9/20/23, Stewart Charnell  wrote:
> Hi,
>
> Has anyone used the I2C functionality on the STM Nucleo-32 board (it
> uses the STM32L432 processor)? I think there is an issue with the file
> boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c.
>
> This board can support Arduino NANO pinout compatibility by using links
> on the PCB.
> Section '6.10 Solder bridges' of doc. 'UM1956 User manual STM32
> Nucleo-32 boards (MB1180)' details these links.
>
> One option for the I2C1 interface is to use STM32L432 pins PB_7
> (function I2C1_SDA, PCB pin D4) & PA_6 (function I2C1_SCL, PCB pin D5),
> which are linked by solder bridges on the PCB to STM32L432 pins PA_6
> (PCB pin A5) & PA_5 (PCB pin A4) to maintain Arduino NANO pinout
> compatibility.
>
> The webpage os.mbed.com/platforms/ST-Nucleo-L432KC has a picture of the
> PCB showing the pinout options, and this Information:
>
> By default the PA_5 (A4) and PA_6 (A5) pins can only be used as Input
> floating (ADC function).
> Remove SB16 and SB18 solder bridges in order to use these pins as
> Digital output and have access
> to other functions (DigitalOut, SPI, PWM, etc...).
>
> The file boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c contains
> these lines:
>
> /* Configure D4(PA5) and D5(PA6) as input floating */
>
> stm32l4_configgpio(GPIO_I2C1_D4);
> stm32l4_configgpio(GPIO_I2C1_D5);
>
> Where GPIO_I2C1_D4 & GPIO_I2C1_D5 are defined in
> boards/arm/stm32l4/nucleo-l432kc/include/board.h
>

Yes, the comments is incorrect since it is defined to pins PB7 and PB6:

#define GPIO_I2C1_D4 \
   (GPIO_INPUT | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN7)
#define GPIO_I2C1_D5 \
   (GPIO_INPUT | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN6)

> However the device pins PA5 and PA6 correspond to PCB pins A4 and A5
> respectively, not PCB pins D4 and D5.
> These calls to the stm32l4_configgpio functions cause the I2C1 lines to
> be disabled.
>

Daniel, since you submitted support to it and could know more about
it, could you please help to clarify these things?

BR,

Alan


STM Nucleo-32 board - I2C functionality

2023-09-20 Thread Stewart Charnell

Hi,

Has anyone used the I2C functionality on the STM Nucleo-32 board (it 
uses the STM32L432 processor)? I think there is an issue with the file 
boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c.


This board can support Arduino NANO pinout compatibility by using links 
on the PCB.
Section '6.10 Solder bridges' of doc. 'UM1956 User manual STM32 
Nucleo-32 boards (MB1180)' details these links.


One option for the I2C1 interface is to use STM32L432 pins PB_7 
(function I2C1_SDA, PCB pin D4) & PA_6 (function I2C1_SCL, PCB pin D5),
which are linked by solder bridges on the PCB to STM32L432 pins PA_6 
(PCB pin A5) & PA_5 (PCB pin A4) to maintain Arduino NANO pinout 
compatibility.


The webpage os.mbed.com/platforms/ST-Nucleo-L432KC has a picture of the 
PCB showing the pinout options, and this Information:


By default the PA_5 (A4) and PA_6 (A5) pins can only be used as Input 
floating (ADC function).
Remove SB16 and SB18 solder bridges in order to use these pins as 
Digital output and have access

to other functions (DigitalOut, SPI, PWM, etc...).

The file boards/arm/stm32l4/nucleo-l432kc/src/stm32_ina226.c contains 
these lines:


   /* Configure D4(PA5) and D5(PA6) as input floating */

   stm32l4_configgpio(GPIO_I2C1_D4);
   stm32l4_configgpio(GPIO_I2C1_D5);

Where GPIO_I2C1_D4 & GPIO_I2C1_D5 are defined in 
boards/arm/stm32l4/nucleo-l432kc/include/board.h


However the device pins PA5 and PA6 correspond to PCB pins A4 and A5 
respectively, not PCB pins D4 and D5.
These calls to the stm32l4_configgpio functions cause the I2C1 lines to 
be disabled.


Kind regards

Stewart Charnell