You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi @amirc2013
could you be more precise about your issue as described in the GitHub issue template: Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Complete source code which can be used to reproduce the issue. Please try to be as generic as possible (no extra code, extra hardware,...)
Desktop (please complete the following information):
OS: [e.g. Windows]
Arduino IDE version: [e.g. 1.8.8]
STM32 core version: [e.g. 1.4.0]
Tools menu settings if not the default: [e.g. Newlib Standard, No Serial]
Upload method: [e.g. STLink]
Board (please complete the following information):
Name: [e.g. Nucleo F429ZI]
Hardware Revision: [e.g. Rev B]
Extra hardware used if any: [e.g. X-Nucleo IKS01A1]
Additional context
Add any other context about the problem here.
Full sketch. Which I2C device you used. how it is wired. Do you use PULLUP resistors on the line...
@amirc2013
OK but you do not provide enough information.
Which board you used, which I2C hardware, how it is wired.
As said I could not help without more info.
I do not ask to close the issue, only to have more info to be able to help...
On Tue, Sep 24, 2019, 11:13 Frederic Pillon ***@***.***> wrote:
@amirc2013 <https://github.com/amirc2013>
OK but you do not provide enough information.
Which board you used, which I2C hardware, how it is wired.
As said I could not help without more info.
I do not ask to close the issue, only to have more info to be able to
help...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#661?email_source=notifications&email_token=ACX2F4UVHRE2SNUOD5GHMYTQLHD4DA5CNFSM4IYOIVM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7NQAQA#issuecomment-534446144>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACX2F4S5MNJ7YDGMX3CQDJDQLHD4DANCNFSM4IYOIVMQ>
.
Right by default I2C_BUFFER is 32 bytes but it is a dynamic allocated buffer which can growth if needed.
I ask about more info because if @amirc2013 used the GitHub repository then he could met an issue I've seen after repeated start feature introduction. For the 1.7.0, I've revert it.
So, while I do not get all info I could not help.
Writing and uploading an answer right now. sorry for the delay
בתאריך יום ג׳, 24 בספט׳ 2019 ב-11:42 מאת Frederic Pillon <
notifications@github.com>:
No worries ;)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#661?email_source=notifications&email_token=ACX2F4SZX6FEXDHJJEJCPTLQLHHHXA5CNFSM4IYOIVM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7NSYDQ#issuecomment-534457358>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACX2F4U2KX3GSP3EQKTXGG3QLHHHXANCNFSM4IYOIVMQ>
.
The bug :
When I'm writing a big data to this function - I just cant see then on my logic analyzer.
Only when I cut them down to 0x1000/10 bytes I will be able to see them.
This is super weird. Cause I need to write in 0x1000 chunk size...
My board : Nucleo L4R5ZI
OS: Windows
Arduino IDE version: 1.8.10
STM32 core version: How can I check that ?
Tools menu settings if not the default. Newlib Nano (default)
Upload method: Mass storage
Hardware Revision:How can I check that ?
I don't use any extra pull-up resistors.. Only connect a micro-controller to my STM with level shifter in the middle.
Hardware Revision:How can I check that ?
on the sticker you should have something like MB1312 X where X is is the revision, anyway this is not very important in our case.
I don't use any extra pull-up resistors.. Only connect a micro-controller to my STM with level shifter in the middle.
Could you be more precise about this? which microconttoller and level shifter? how are they wired.
I2C lines require PULL up so ensure to have them on your wiring.
I will try to see if I'm able to remove uint8_t date size limitations as HAL can handle uint16_t but I could not promise. In that case you would be able to send your 0x1000 in 16 times.
Any updates on that. I have the same issue. I cant send string with Wire. for example Wire.write("hello");
Using blue pill and raspberry pi with command from raspberry pi :
bus.read_i2c_block_data(address,4)
or
bus.read_byte(address)
Blue pill just hangs up.
Any updates on that. I have the same issue. I cant send string with Wire. for example Wire.write("hello");
Using blue pill and raspberry pi with command from raspberry pi :
bus.read_i2c_block_data(address,4)
or
bus.read_byte(address)
Blue pill just hangs up.
This is not related. Here the issue is for buffer higher than 32 in receive
can write up to 255 (limited by Arduino API uint8_t)
can read up to 32
Slave:
can read/write up to 32
32 is the Arduino standard. The Master Tx has been extend to support the X-Shield NFC nevertheless
the Rx should be able to receive also 255 bytes. And Slave should be able to write also up to 255.
Hi @amirc2013,
with implementation of PR #853, the status is 255 bytes transfer in any direction
(254 with the bug identified see warning).
But still limited by Arduino API uint8_t
Activity
amirc2013 commentedon Sep 19, 2019
it seems like it is depended on the size of what im sending ... so ... can anyone explain why ?
fpistm commentedon Sep 20, 2019
Hi @amirc2013
could you be more precise about your issue as described in the GitHub issue template:
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Complete source code which can be used to reproduce the issue. Please try to be as generic as possible (no extra code, extra hardware,...)
Desktop (please complete the following information):
Board (please complete the following information):
Additional context
Add any other context about the problem here.
Full sketch. Which I2C device you used. how it is wired. Do you use PULLUP resistors on the line...
fpistm commentedon Sep 24, 2019
@amirc2013
without any feedback I will close this issue.
amirc2013 commentedon Sep 24, 2019
Bug :
Can't write a big buffer to the i2c line. Seems like there is a limitation which I can't find where or why.
fpistm commentedon Sep 24, 2019
@amirc2013
OK but you do not provide enough information.
Which board you used, which I2C hardware, how it is wired.
As said I could not help without more info.
I do not ask to close the issue, only to have more info to be able to help...
amirc2013 commentedon Sep 24, 2019
fpistm commentedon Sep 24, 2019
No worries ;)
fpistm commentedon Sep 25, 2019
Right by default
I2C_BUFFERis 32 bytes but it is a dynamic allocated buffer which can growth if needed.I ask about more info because if @amirc2013 used the GitHub repository then he could met an issue I've seen after repeated start feature introduction. For the 1.7.0, I've revert it.
So, while I do not get all info I could not help.
amirc2013 commentedon Sep 25, 2019
amirc2013 commentedon Sep 25, 2019
This is the simple formation of the code Im using for writing to the I2C.
My Real Program is really big and it is not understandalbe
so for this issue I will just use this instead.
static inline void i2c_write(unsigned short addr,unsigned char *data,unsigned short len){Wire.beginTransmission(SLAVE_addr);Wire.write(addr);Wire.write((const uint8_t *)data,(size_t)len);Wire.endTransmission(true);}The bug :
When I'm writing a big data to this function - I just cant see then on my logic analyzer.
Only when I cut them down to 0x1000/10 bytes I will be able to see them.
This is super weird. Cause I need to write in 0x1000 chunk size...
My board : Nucleo L4R5ZI
OS: Windows
Arduino IDE version: 1.8.10
STM32 core version: How can I check that ?
Tools menu settings if not the default. Newlib Nano (default)
Upload method: Mass storage
Hardware Revision:How can I check that ?
I don't use any extra pull-up resistors.. Only connect a micro-controller to my STM with level shifter in the middle.
fpistm commentedon Sep 25, 2019
How did you install it? Boards manager? Using git repo? Anyway you can check here:
Arduino_Core_STM32/cores/arduino/stm32/stm32_def.h
Lines 5 to 21 in fb57942
Could you be more precise about this? which microconttoller and level shifter? how are they wired.
I2C lines require PULL up so ensure to have them on your wiring.
11 remaining items
fpistm commentedon Sep 26, 2019
I will try to see if I'm able to remove uint8_t date size limitations as HAL can handle uint16_t but I could not promise. In that case you would be able to send your 0x1000 in 16 times.
amirc2013 commentedon Sep 26, 2019
I wish you luck, it is really important to me.
Thank you for the help :)
urosh-dev commentedon Nov 8, 2019
Any updates on that. I have the same issue. I cant send string with Wire. for example Wire.write("hello");
Using blue pill and raspberry pi with command from raspberry pi :
bus.read_i2c_block_data(address,4)
or
bus.read_byte(address)
Blue pill just hangs up.
fpistm commentedon Nov 8, 2019
This is not related. Here the issue is for buffer higher than 32 in receive
fpistm commentedon Dec 16, 2019
Current status:
Master:
uint8_t)Slave:
32 is the Arduino standard. The Master Tx has been extend to support the X-Shield NFC nevertheless
the Rx should be able to receive also 255 bytes. And Slave should be able to write also up to 255.
ABOSTM commentedon Jan 3, 2020
Hi @amirc2013,
with implementation of PR #853, the status is 255 bytes transfer in any direction
(254 with the bug identified see warning).
But still limited by Arduino API
uint8_t