Pasar fucnion de arduino a MounRiver Studio
Budget: $10 – $30 USD
Quiero pasar estas dos funciones para MounRiver Studio
template<class T> int EEPROM_put(int ee, const T& value) {
const byte* p = (const byte*)(const void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) eeprom_write_1byte(ee++, *p++);
return i;
}
template<class T> int EEPROM_get(int ee, T& value) {
byte* p = (byte*)(void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) *p++ = eeprom_read_1byte(ee++);
return i;
}
Actualmente las tengo asi en MounRiver Studio
int EEPROM_put(int ee, u16 value){
const u8* p = (const u8*)(const void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) {
eeprom_write_1byte(ee++, *p++); Delay_Ms(10);
}
return i;
}
int EEPROM_get(int ee, u16 value) {
u8* p = (u8*)(void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) {
*p++ = eeprom_read_1byte(ee++); Delay_Ms(10);
}
return i;
}
Pero necesito que la variable value no este definida, que se defina segun la varible que pase por ahi, u8, u16, u32, etc. y la funcion eeprom_get no me esta funcionando asi como esta.
template<class T> int EEPROM_put(int ee, const T& value) {
const byte* p = (const byte*)(const void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) eeprom_write_1byte(ee++, *p++);
return i;
}
template<class T> int EEPROM_get(int ee, T& value) {
byte* p = (byte*)(void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) *p++ = eeprom_read_1byte(ee++);
return i;
}
Actualmente las tengo asi en MounRiver Studio
int EEPROM_put(int ee, u16 value){
const u8* p = (const u8*)(const void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) {
eeprom_write_1byte(ee++, *p++); Delay_Ms(10);
}
return i;
}
int EEPROM_get(int ee, u16 value) {
u8* p = (u8*)(void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++) {
*p++ = eeprom_read_1byte(ee++); Delay_Ms(10);
}
return i;
}
Pero necesito que la variable value no este definida, que se defina segun la varible que pase por ahi, u8, u16, u32, etc. y la funcion eeprom_get no me esta funcionando asi como esta.