I am trying to understand what is the best way to handle with the EEPROM (internal or external)...
1) What "path" do you use with EEPROM handling?
I was looking in "rf12_config":
uint16_t crc = ~0; for (uint8_t i = 0; i < RF12_EEPROM_SIZE; ++i) crc = _crc16_update(crc, eeprom_read_byte(RF12_EEPROM_ADDR + i)); if (crc != 0) return 0;
what is this doing? I suppose it checks the CRC... The _crc16_update what it does in every byte?
2) Can someone explain it to me?
In a few lines after:
rf12_initialize(nodeId, nodeId >> 6, group);
3) What is the ">>" meaning? I looked but I did not find something to explain it... How the "nodeId >> 6" gets transformed in a band 0-3 value?