![]() |
Commands on EEPROM
So, I found this in my mailbox today:
http://i43.tinypic.com/2qu3rjc.jpg An AT24C02 EEPROM with a wopping 256 bytes of data :p Since EEPROMS are very very easy to program, this is a very quick way to make your custom OH instantly very awesome! But, since I am an extreme hardware guy (and a little low on software knowlegde), what to put on them?? Howto: -download a picture and set it as ambiance? -download and install a program? -change settings? -start a daemon? Also, they are dirt-cheap. |
Re: Commands on EEPROM
Also, GITHUB has this page
Quote:
|
Re: Commands on EEPROM
Well, 256 bytes don't hold very impressive images or sounds. that's for sure :D
I'd imagine what you can put there is an URL that gets downloaded by the system when you insert the EEPROM, for example. Now you'd need to write up a daemon that gets kicked when an EEPROM of the signature you have gets inserted to I2C... |
Re: Commands on EEPROM
Quote:
Otherwise, how does read/write cycles in NFS tags and EEPROMs compare, when they are used to periodically store temporary data? |
Re: Commands on EEPROM
Remember that the VDD in toh is 3.3V, and I2C levels are 1.8V CMOS, so the EEPROM might not talk with you.
|
Re: Commands on EEPROM
Quote:
Quote:
Quote:
Quote:
Anyway, the question was not 'if' but 'how'! What kind of commands could you put on there? |
Re: Commands on EEPROM
Quote:
VinHIlow = VCCx0.7V (aka CMOS) and when VCC is 3.3V, means that SDA/SCL needs to be ~2.3V to make sure them to be high. (Ref AT24C02 datasheet) |
Re: Commands on EEPROM
Okay, then i put an regulator in between that outputs 2 volt to the Vcc of the EEPROM, problem solved. At least for trial fase.
|
Re: Commands on EEPROM
In recent developments, the qwerty-oh is upgraded with a 1.8V voltage regulator, which mean I will very probably also stick an EEPROM on there.
Has anyone -by chance- come by some EEPROM commands for Sailfish? |
Re: Commands on EEPROM
Quote:
An eeprom is programmed by electric signals on designated addressbusses and will output whatever you put in their. Those instructions can then be used by microcontrollers, or TOH, interpreting the output. http://www.engineersgarage.com/elect...s/24c02-eeprom |
Re: Commands on EEPROM
Simple EEPROM data to try. (Maybe i have nothing else to do tonight)
Code:
000: 12 34 56 78 01 01 00 00 30 00 05 00 40 00 06 00
|
Re: Commands on EEPROM
ok. whats next?
Got it soldered there, programmed it with my i2ctool and after faking TOH in place with takkatikku https://lh5.googleusercontent.com/-a...o/14010022.jpg https://lh6.googleusercontent.com/-A...o/kollaasi.jpg i can see it in /sys/bus/i2c/devices/1-0050 Code:
[root@localhost 1-0050]# xxd eeprom And there are all data except 'udata' ? Code:
[root@localhost toh-core.0]# ll |
Re: Commands on EEPROM
Quote:
It costs $2.73 on dx.com (what did you pay? :D ). http://dx.com/p/at24c256-i2c-eeprom-...9#.Ut1wNPQRlpU Here's the specs on the EEPROM circuit: http://www.atmel.com/Images/doc0670.pdf |
Re: Commands on EEPROM
Quote:
We are speaking about AT24C02 which is 2Kbits (256 Bytes) dirkvl original link was to some arduino page... with example of 256Kb eeprom. I dont know what he has purchased :confused: Quote:
Quote:
AT24C256 is not supported as it uses two-byte data-word-addressing mode. Jolla toh seems (afaik) to support only one-byte data-word-addressing mode. (EDIT: I paid 0,27€ each at digikey) |
Re: Commands on EEPROM
Hi,
I just thought I post some of my personal notes here about the eeprom stuff in the toh driver (having written the driver). The idea originally was to 1. Have some way to automatically instantiate devices to linux kernel (to allow true linux "device-driver" model hot plugging of devices) 2. Have system and application specific configurations provided for userspace (and to some extent kernel) For system configurations we tried bitmasks and such, but finally converged to just a configuration string (CFG_DATA). Idea there was to have some pre-defined key-value pairs to initiate actions inside kernel and tohd. Simple exaple would be vdd=1, meaning "enable the VDD". Or have some other string for i2c device parameters that the toh-core driver would register onto the bus then (so that corresponding driver would automatically probe). The user data was meant for any application running in userspace to just read and do anything they need to according to that. But... At some point of development we shifted gears and went full speed for the NFC based identification and the EEPROM was left a bit unattended. I basically got the CFG_DATA exporting done, but none of the hotplugging things nor exporting user data. I thought the EEPROM still could serve a purpose for hacker community, as you can (maybe) more easily (and independently of Jolla store or anything outside) do simple detection of your own custom cover. So the driver is still there, but it's not "officially" driven forward at the moment. But were not removing it either, so feel free to use in personal hacking :) I'm very interested to see what kind of uses you guys come up with it. Maybe once the recovery options allow safe community kernel development on Jolla, something in form of quality kernel patches could arise that we could pick up into official release as well. |
Re: Commands on EEPROM
Quote:
Quote:
And atm to get the automatic rpm download/install, the NFC is the only way? Quote:
I will anyway have a eeprom on my TOHs, maybe use to store some TOH identity or TOH dependent configurations, e.g. if oled toh would have different settings (brightness/font etc) this is stores on eeprom. or serial number, hw version information, sensor calibration data. |
Re: Commands on EEPROM
Example udev rule: /etc/udev/rules.d/95-toholed.rules
Code:
KERNEL=="toh-core.0", ATTR{vendor}=="19276", ATTR{product}=="2", ACTION=="add", RUN+="/bin/systemctl start harbour-toholed" udevadm info: looking at device '/devices/platform/toh-core.0': KERNEL=="toh-core.0" SUBSYSTEM=="platform" DRIVER=="toh-core" ATTR{rev}=="1" ATTR{cfg_addr}=="48" ATTR{cfg_size}=="5" ATTR{eeprom_size}=="256" ATTR{microamps_requested_toh-core.0-toh_vdd}=="0" ATTR{config_data}=="CFG?" ATTR{vendor}=="19276" ATTR{udata_addr}=="64" ATTR{udata_size}=="6" ATTR{product}=="1" |
Re: Commands on EEPROM
Cross-linking:
vendor and product id's in TJC wiki https://together.jolla.com/question/...and-device-id/ |
All times are GMT. The time now is 02:14. |
vBulletin® Version 3.8.8