Programming the EEPROM

Firmware/software/electronics/mechanics
Post Reply
dbrgn
Member
Posts: 51
Joined: Tue Dec 16, 2014 9:42 pm

Programming the EEPROM

Post by dbrgn »

Are there some tools in the CF2 firmware to flash the DS28E05 EEPROM on a custom expansion board? :)

I saw that modules/src/mem.c seems to provide that functionality. How can I use it?
Last edited by dbrgn on Thu Apr 02, 2015 8:24 pm, edited 1 time in total.
dbrgn
Member
Posts: 51
Joined: Tue Dec 16, 2014 9:42 pm

Re: Programming the EEPROM

Post by dbrgn »

Ah, found lib/cflib/crazyflie/mem.py in the crazyflie-clients-python library. Working on a commandline tool now :)
dbrgn
Member
Posts: 51
Joined: Tue Dec 16, 2014 9:42 pm

Re: Programming the EEPROM

Post by dbrgn »

Here's my script to flash the 1-wire memory using CRTP: https://github.com/dbrgn/crazyflie-clie ... -memory.py

There seems to be a problem though, it does not work yet: https://github.com/bitcraze/crazyflie-c ... issues/166
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: Programming the EEPROM

Post by arnaud »

Hi,

Thanks for reporting the bug!

The problem is that it is currently not possible to write the OW memories when running a BLE firmware: https://github.com/bitcraze/crazyflie2- ... ory.c#L172

The reason is that the OW access requires hard real-time execution and the BLE stack is stealing CPU time once in a while. It is manageable but hard (OW transfers needs to be schedules between BLE activities) so it was disable and we got away with using non-ble firmware in factory to program the decks/expansion boards. We need to solve that at some point.

The solution for now is to compile and flash an NRF firmware without BLE support (make BLE=0 && make cload). If you want I can generate an update zip for you.
Post Reply