Misdetection of 512Kbit breakout board?
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 32/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- cpp
- 领域
- embedded-iot
调研方向
Start by comparing the detectMemorySizeBytes and getMemorySizeBytes entry points used by the examples, then inspect SparkFun_External_EEPROM.cpp around the reported write warning. Reproduce both examples with the 512Kbit breakout board and trace how the detected size is derived. Done means the examples consistently report the board's size and the compiler warning has been addressed.
由索引模型根据 Issue 内容生成。
描述
Subject of the issue
DetectSettings examples appear to mis-identify 512Kbit i2c breakout board.
I recently purchased (1) "SparkFun Qwiic EEPROM Breakout - 512Kbit" ( https://www.sparkfun.com/products/18355 )
After soldering the header on, I hooked it up to an Arduino Uno, installed the Sparkfun External EEPROM library (this one), and gave it a go.
The results:
17:49:47.133 -> Qwiic EEPROM example
17:49:47.133 -> Memory detected!
17:49:47.133 -> Detected number of address bytes: 2
17:49:47.133 -> Detected pageSizeBytes: 128
17:49:47.359 -> Detected page write time (ms): 2
17:49:47.390 -> Detected EEPROM size (bytes): 16 bytes / 128 Bits - 24XX00
My understanding is that I have the "24xx512" (2 address bytes, 128 byte page size).
These appear to be correctly detected.
However, the detection of the EEPROM size itself comes back what appears to be wrong as can be seen above.
I am powering the device over USB.
Then I tried example 7, which yielded:
17:53:02.652 -> Qwiic EEPROM example
17:53:02.652 -> Memory detected!
17:53:03.005 -> Detected pageSizeBytes: 128
17:53:03.232 -> Detected EEPROM size (bytes): 4096 bytes / 32 kBits - 24XX32
17:53:03.232 -> Checking memory: Good
17:53:03.457 -> I read (should be 200): 200
17:53:03.457 -> I read (should be -366): -366
17:53:03.457 -> I read (should be -7.35): -7.35
17:53:03.490 -> I read: Hi, I am just a simple test string
17:53:03.490 -> Next available EEPROM location: 105
This is detecting an EEPROM size of 4KB (24XX32).
Hence my confusion.
The former is using detectMemorySizeBytes and the latter is using getMemorySizeBytes.
It's not clear to me what the difference is.
Although unrelated, there is also a compile-time warning:
.../Arduino/libraries/SparkFun_External_EEPROM_Arduino_Library/src/SparkFun_External_EEPROM.cpp: In member function 'int ExternalEEPROM::write(uint32_t, const uint8_t*, uint16_t)':
.../Arduino/libraries/SparkFun_External_EEPROM_Arduino_Library/src/SparkFun_External_EEPROM.cpp:879:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (uint16_t x = 0; x < amtToWrite; x++)
~~^~~~~~~~~~~~
- 主要语言
- C++
- 星标
- 67
- 派生
- 23
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
sparkfun/SparkFun_External_EEPROM_Arduino_Library 的其他 Issue
-
难度 5/5 一周以上 新手友好度 25/100
sparkfun/SparkFun_External_EEPROM_Arduino_Library#41 · 1 条评论 ·
-
Return type of put and get.可能已有人在做 @Harry2907 于 101 天前认领。 未关闭
难度 5/5 一周以上 新手友好度 25/100
sparkfun/SparkFun_External_EEPROM_Arduino_Library#36 · 2 条评论 ·
查看 sparkfun/SparkFun_External_EEPROM_Arduino_Library 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
-
难度 2/5 1-3 小时 新手友好度 62/100
NVIDIA-RTX/NRI#277 ·
维护者通常 1 天内回复
-
os:Linux
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
-
acceptable_buffer_backends: unknown backend names are silently ignored可能已有人在做 @mini-1235 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
ros2/rmw_fastrtps#945 ·
维护者通常 1 天内回复