Хранение текста скетча в памяти контроллера.

lkwqas
Offline
Зарегистрирован: 25.01.2014

Мелькнула такая идея - можно ли как то хранить исходник в не занятой памяти. Часто бывает, что прошивка залита а исходник потерян, было бы удобно запросить его через сериал например.

Поиск что то не помог, не может быть что бы такаой идеи не было у кого то ранее.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

можно, если памяти хватит

lkwqas
Offline
Зарегистрирован: 25.01.2014

простейший метод напрашивается послать Serial.print() но не понятно как слать 2 и более строки, а на каждую строку лепить Serial.print ...

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

ua6em пишет:

можно, если памяти хватит

в зип архив запаковать

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

lkwqas пишет:

Мелькнула такая идея - можно ли как то хранить исходник в не занятой памяти. Часто бывает, что прошивка залита а исходник потерян, было бы удобно запросить его через сериал например.

А вдруг кристалл сгоит - как тогда?

Лучше распечатывать исходник на листах А4, заламинировать их и подклеить к корпусу микросхемы суперклеем.

Чтобы листов было меньше, можно по совету Клапауция сначала зазиповать исходник и печатать на обеих сторонах листа.

lkwqas
Offline
Зарегистрирован: 25.01.2014

ты красавчик

lkwqas
Offline
Зарегистрирован: 25.01.2014

)) и ты красавчик

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Как приятно находиться в обществе красивых людей!

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

вот такой код в qr код

#include <OneWire.h>

#define dallas A1

OneWire ds (dallas);

unsigned long time=0;
boolean flag=0; // для измерения


byte data[12];
float temp;
int raw;

void start_izm(){
  ds.reset();
  ds.write(0xCC);
  ds.write(0x44);
}

void calc_izm(){
  ds.reset();
  ds.write(0xCC);
  ds.write(0xBE); // Read Scratchpad
  for (byte i = 0; i < 9; i++) { // we need 9 bytes
    data[i] = ds.read ();
  }
  raw =  (data[1] << 8) | data[0];//=======Пересчитываем в температуру
  temp =  (float)raw / 16.0;
}

void izm_temp(){
  if(flag){
    Serial.println ("start izmerenie");
    start_izm();
    time=millis();
    flag=0;
  }
  if(!flag && (millis()-time)>750){
    Serial.println ("calcilatin and print temperature");
    calc_izm();
    flag=1;
  }
}


void setup() {
  Serial.begin  (9600);
  izm_temp();
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
  izm_temp();
}

void loop(){
  izm_temp(); // измеряем температуру

  if(flag){
    Serial.print ("Temp  " );
    Serial.println (temp);
    Serial.flush(); //очищаем значения порта
    digitalWrite(13, HIGH);
    delay(200);
    digitalWrite(13, LOW);
  }
}






ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

lkwqas пишет:

простейший метод напрашивается послать Serial.print() но не понятно как слать 2 и более строки, а на каждую строку лепить Serial.print ...

Ну, если для вас это самое сложное, то не стоит затеваться, скидывайте коды в раздел форума проекты, когда надо заберёте назад

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

ua6em пишет:

Ну, если для вас это самое сложное, то не стоит затеваться, скидывайте коды в раздел форума проекты, когда надо заберёте назад

проще отсылать самому себе на почту

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

lkwqas пишет:

Мелькнула такая идея - можно ли как то хранить исходник в не занятой памяти. 

Я когда дарю кому-нибудь изделие, то исходник вместе со всеми вспомогательными файлами пишу на микроSD и карту просто приклеиаваю скотчем внутри корпуса изделия. На той же карте обычно и принципиальная и монтажная схемы и печатная плата и, если есть, какие-то файлы с моими комментариями.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а он работает в секретном офисе цру, ты конечно об этом не знал. приносит с собой твою самоделку, а когда выходят 3д рентгеновский сканер находит в самоделке флешку о которой он и не знал. все таки схемы прошивки. они же в этом не понимают, но видят что это что то техническое. три дня допросов с избиениями, еще неделю в одиночке и т.д. рано или поздно вернется. его конечно уволят и теперь он будет под наблюдением. придет к тебе и скажет: нах...я мне исходники поливалки для цветов? это же бл..ь е..чие цветы. на...я ты их спрятал в корпусе? ты мне всю жизнь сломал. ну и даст кулаком в морду... хепиенд)))

Logik
Offline
Зарегистрирован: 05.08.2014

lkwqas пишет:

Мелькнула такая идея - можно ли как то хранить исходник в не занятой памяти. 

Элементарно. Давно так делаю. И компилирую прямо в нем. Только контролер не всякий годится, но на OrangPi PC все это проходит великолепно.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Logik пишет:

lkwqas пишет:

Мелькнула такая идея - можно ли как то хранить исходник в не занятой памяти. 

Элементарно. Давно так делаю. И компилирую прямо в нем. Только контролер не всякий годится, но на OrangPi PC все это проходит великолепно.

Ты хотел сказать на SD? Разговор ведь идёт о хранении данных в памяти программ

lkwqas
Offline
Зарегистрирован: 25.01.2014

да не, то он прикалываецца