Доброго дня.
Дошли руки до освоения EEPROM. Изучив уроки Алекса, накидал несколько строчек, но компилятор говорит что нет таких функций в библиотеке (((
ВОт что пишет VScode :
template<class T> const T &EEPROMClass:ut(int idx, const T &t)
отсутствуют экземпляры шаблон функции "EEPROMClass:ut", соответствующие списку аргументов -- типы аргументов: (uint16_t *, int) -- тип объекта: EEPROMClass
в шапке накидал параметры для сохранения:
#include <Arduino.h>
#include <GyverButton.h>
#include <AccelStepper.h>
#include <GyverTimer.h>
#include <EEPROM.h>
//******* EEPROM******
uint16_t EEMEM r_D1;
uint16_t EEMEM r_D2;
uint16_t EEMEM p_Set;
int32_t EEMEM step_M;
uint8_t EEMEM w_Mode;
uint32_t EEMEM vol_D1;
uint32_t EEMEM vol_D2;
#define INIT_ADDR 1023
#define INIT_KEY 50
void setup {
if (EEPROM.read(INIT_ADDR) != INIT_KEY) { // первый запуск
EEPROM.write(INIT_ADDR, INIT_KEY); // записали ключ
// записали параметры, потом их записали
BackupWrite();
BackupRead();
}else{
BackupRead();
}
// Пишем первые минимальные параметры, типа "настройки по умолчанию" *************************************
void BackupWrite(){
EEPROM.put(&r_D1, 100);
EEPROM.put(&r_D2, 10);
EEPROM.put(&p_Set, 5);
EEPROM.put(&step_M, 100);
EEPROM.put(&w_Mode, 0);
EEPROM.put(&vol_D1, 0);
EEPROM.put(&vol_D2,0);
}
//Восстановить параметры из EEPROM
void BackupRead(){
uint32_t tmp;
EEPROM.get(&r_D1, tmp);
CapCap.setRate(tmp, true);
EEPROM.get(&r_D2, tmp);
CapCap.setRate(tmp, false);
EEPROM.get(&p_Set, CapCap.rD1_percent);
EEPROM.get(&step_M, tmp);
stepper2.setCurrentPosition(tmp);
EEPROM.get(&w_Mode, workMode);
EEPROM.get(&vol_D1, CapCap.cntDrops1);
EEPROM.get(&vol_D2, CapCap.cntDrops2);
}
viod loop{}
Какие могут быть варианты? Уже мозг набекрень(((
В какую сторону копать впринципе, при такой ошибке ?
Дошли руки до освоения EEPROM. Изучив уроки Алекса, накидал несколько строчек, но компилятор говорит что нет таких функций в библиотеке (((
ВОт что пишет VScode :
template<class T> const T &EEPROMClass:ut(int idx, const T &t)
отсутствуют экземпляры шаблон функции "EEPROMClass:ut", соответствующие списку аргументов -- типы аргументов: (uint16_t *, int) -- тип объекта: EEPROMClass
в шапке накидал параметры для сохранения:
#include <Arduino.h>
#include <GyverButton.h>
#include <AccelStepper.h>
#include <GyverTimer.h>
#include <EEPROM.h>
//******* EEPROM******
uint16_t EEMEM r_D1;
uint16_t EEMEM r_D2;
uint16_t EEMEM p_Set;
int32_t EEMEM step_M;
uint8_t EEMEM w_Mode;
uint32_t EEMEM vol_D1;
uint32_t EEMEM vol_D2;
#define INIT_ADDR 1023
#define INIT_KEY 50
void setup {
if (EEPROM.read(INIT_ADDR) != INIT_KEY) { // первый запуск
EEPROM.write(INIT_ADDR, INIT_KEY); // записали ключ
// записали параметры, потом их записали
BackupWrite();
BackupRead();
}else{
BackupRead();
}
// Пишем первые минимальные параметры, типа "настройки по умолчанию" *************************************
void BackupWrite(){
EEPROM.put(&r_D1, 100);
EEPROM.put(&r_D2, 10);
EEPROM.put(&p_Set, 5);
EEPROM.put(&step_M, 100);
EEPROM.put(&w_Mode, 0);
EEPROM.put(&vol_D1, 0);
EEPROM.put(&vol_D2,0);
}
//Восстановить параметры из EEPROM
void BackupRead(){
uint32_t tmp;
EEPROM.get(&r_D1, tmp);
CapCap.setRate(tmp, true);
EEPROM.get(&r_D2, tmp);
CapCap.setRate(tmp, false);
EEPROM.get(&p_Set, CapCap.rD1_percent);
EEPROM.get(&step_M, tmp);
stepper2.setCurrentPosition(tmp);
EEPROM.get(&w_Mode, workMode);
EEPROM.get(&vol_D1, CapCap.cntDrops1);
EEPROM.get(&vol_D2, CapCap.cntDrops2);
}
viod loop{}
Какие могут быть варианты? Уже мозг набекрень(((
В какую сторону копать впринципе, при такой ошибке ?
Изменено: