Помогите! как Сравнение ">=" записать в EEPROM

d13lider
d13lider аватар
Offline
Зарегистрирован: 19.10.2015

 

я хочу это записать в EEPROM?  что бы автоматически прибор смог настроиться.

ну типа считываю начальное значение, если нажал на какую нибудь кнопку то считываем значение и записываем EEPROM и допустим если A1<=900 то my_very_fucking_sign будет принимать занчение =>(это своимы словами что бы понять смысл что я хочу, придераться не надо) :) как же это возможно сделать? заранее спасибьо

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

Вы уверены, что Вам это надо? Это реально гнусный хак, никак бех этого обойтись не можете?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

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

Типа такого. И тогда sign уже сможешь хранить в еепроме.

byte compare(int x, int y,  byte sign)
{
if (sign > 0) return (x>y);
if (sign < 0) return (x<y);
if (sign = 0) return (x==y);
}

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ЕвгенийП пишет:

Вы уверены, что Вам это надо? Это реально гнусный хак, никак бех этого обойтись не можете?

Женя! В рамках прикольных хаков, тут без ресета не обойтись. Модификация програмной памяти возможна только из режима загрузчика, а между режимами переход только через ресет.

Я думаю, что на форуме три -четыре человека всего, которые поняли, что и о чем я написал.

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

Так и не имел в виду модификацию программной памяти. Я имел в виду почти тоже что у Вас (по большому счёту) но в синтакисчекой обёртке из определения самогонных операторов сравнения.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

аааа.... Вы ж фанат ООП! ;) ... Все время забываю...

Не могу объяснить почему, но не зацепило меня ООП. Я решение сперва вижу в структуре, а потом, если нужно, переписываю в конструкциях ООП.

------

при редактировании:

Вру! Наследование - это супер идея. Вот реально нравится. И использую всегда. А перегрузка, и уж тем более операторов, мне кажется вредной.

d13lider
d13lider аватар
Offline
Зарегистрирован: 19.10.2015

ЕвгенийП пишет:

Вы уверены, что Вам это надо? Это реально гнусный хак, никак бех этого обойтись не можете?

думал вдруг есть простое решение.. 

просто скетч на запуск авто, схему собрал так что читаю данные с генератора и ручника с помощью аналоговых входов, автозапуск понимает что машина завелась с помощью чтения генератора. но проблема в том что на некоторых авто (когда заведена машина) образуется +, а на некоторых наоборот притягивается к массе. вот и хотелось что бы в код снова не лезть не прописывать это значение, можно было бы записать начальное значение допустим машина заведена, стоит на ручнике, нажал на кнопку и прибор записал в епром эти значения и потом мог с ними работать.

допустим код такой

if (analogRead(A1)>=650)
{
digitalWrite(pin_out_starter, LOW);
}

значение А1 никак не могу поднять т.е. значение digitalRead 1 или 0 отпадает, там как будто всегда единица. так было бы проще конечно, но схему менять не буду, стоит диод, стабилитрон, резистор. 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Блин! Вот ведь любители шифроваться.

Спроси опытного установщика, то есть меня. ;) (...важно прохаживается...)

Херня все это по генератору, неудобно страшно и провод лишний под капот тянуть. Если не нравится лампочка давления масла, то ОЧЕНЬ СОВЕТУЮ сделать как у "Шерхана" - вообще без лишних проводов, просто по пульсациям в цепи питания.

Причем с регулировкой чувствительности, чтобы не реагировал на включившийся топливный насос в баке, если такой есть.

d13lider
d13lider аватар
Offline
Зарегистрирован: 19.10.2015

wdrakula пишет:

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

Типа такого. И тогда sign уже сможешь хранить в еепроме.

byte compare(int x, int y,  byte sign)
{
if (sign > 0) return (x>y);
if (sign < 0) return (x<y);
if (sign = 0) return (x==y);
}

 

 

ух ты... да уж, придеться добавить коненчо пару строк, но мысль прикольная! спаисбо! а что такое модификация программной памяти? это из темы "отсутвие памяти EEPROM у ARM-ок?" и реализация программной памяти?

d13lider
d13lider аватар
Offline
Зарегистрирован: 19.10.2015

wdrakula пишет:

Блин! Вот ведь любители шифроваться.

Спроси опытного установщика, то есть меня. ;) (...важно прохаживается...)

Херня все это по генератору, неудобно страшно и провод лишний под капот тянуть. Если не нравится лампочка давления масла, то ОЧЕНЬ СОВЕТУЮ сделать как у "Шерхана" - вообще без лишних проводов, просто по пульсациям в цепи питания.

Причем с регулировкой чувствительности, чтобы не реагировал на включившийся топливный насос в баке, если такой есть.

да не хотел я шифроватся) просто занимать головы ваши, лишними предложениями, не хотел)

пульсации придеться вешать на 2 или 3 цифровой вход? и как с ручником в такие моменты? там тоже защиты стоят...

d13lider
d13lider аватар
Offline
Зарегистрирован: 19.10.2015

просто если придеться вешать на пины прерываний( у мня nano) то на 2 у меня стоит приемник брелока на 433Мгц а на 3 висит общение с GSM модулем.... и если я ставлю на другие пины GSM модуль, иногда данные от модуля приходят с ошибками... даже на скорости 9600

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

wdrakula пишет:

аааа.... Вы ж фанат ООП! ;) ... Все время забываю...

"Да, нет, с чего Вы взяли" ((С) Д.Трамп, 2002)

Эту задачу, кстати, можно сделать ещё более экзотически - через лямбда-выражения (вот это уже ближе, к тому, "чего я фанат").

Кстати, история с фразой Трампа, почерпнута из тогдашней прессы. Дональд Фредович тогда вляпался в какой-то скандал, связанный с каким-то его гомофобским высказыванием. Ну, типа, журналистка и привязалась: "Правда ли, что Вы негативно относитесь к представителям сексуальных меньшинств?", а Дональд Фредович ответил так, что я до сих пор от зависти вою - такого уровня троллинга мне не достичь, наверное, никогда. Он сказал: "Каким представителям? А-а-а ... к пидорасам что-ли? Да, нет, с чего Вы взяли?!". Класс, правда!

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

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

Это программу писать надо будет, руками, на С... ;)

=================

В состоянии, после получения команды на запуск, проверяешь все херню для ручной коробки, тут, я надеюсь, не нужно объяснять?

На автомате - не проверяешь ничего, кроме напряжения в сети, что оно не ниже 11В.

Подаешь команду на стартер и крутишь его скока положено, 1-2-3сек, как запрограммировал.

Потом переходишь в ожидание обнаружения запуска,

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

 

d13lider
d13lider аватар
Offline
Зарегистрирован: 19.10.2015

wdrakula пишет:

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

Это программу писать надо будет, руками, на С... ;)

=================

В состоянии, после получения команды на запуск, проверяешь все херню для ручной коробки, тут, я надеюсь, не нужно объяснять?

На автомате - не проверяешь ничего, кроме напряжения в сети, что оно не ниже 11В.

Подаешь команду на стартер и крутишь его скока положено, 1-2-3сек, как запрограммировал.

Потом переходишь в ожидание обнаружения запуска,

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

 

боюсь я эти делители)))) так резистор у меня полетел и вход сгорел разок, после этого я от них отказался... и ставлю диод катодом к генератору допустим и потом еще ставлю резистор на 10кОм и стабилитрон к земле притягиваю, и резистор подтягивающий включаю в дуине. в общем сыкотно) а на счет проверки скорости не хотел делать, муторно... один раз поставил геркон на рычяг КПП сделал обводку резисторами типа на обрыв провода и замыкания на массу случайное 

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

d13lider
d13lider аватар
Offline
Зарегистрирован: 19.10.2015

а если не жалко, сможете поделиться скетчем вашего автозапуска(сигнализации) что вы собирали, я может что нибудь подчерпну от туда? могу тоже выложить, но там ой как все страшно и не красиво((( 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Ты не понял. Я не Эдисон, я установщик ;) (ну кроме остального). Я тебе рассказал, как на покупных сделано.

Пока покупное меня устраивает.  Не было желания свою делать... Я вон китайца СенМакс на Инфинити с кнопкой Старт/Стоп и то приладил. На одних реле.

Как тебе на своей сделать - могу подсказать. Про стабилитроны - это правильно. Кто ж тебя знает по первому вопросу? Может ты испугаешься слова "стабилитрон"? ;)

Если есть схема, не в голове, а на картинке - скинь, посмотрю. Если не хочешь на форум, кидай на мой ник на жмейле. Скеч тоже могу поглядеть.

Я тут писал уже, что у меня творческий кризис и дел никаких сейчас нет. Если буду занят - просто не отвечу, и никаких обид, ОК?

Про обходчик что думаешь? На старых меринах есть сложности. На современных - проще, если не IR-ключ.

d13lider
d13lider аватар
Offline
Зарегистрирован: 19.10.2015

wdrakula пишет:

Ты не понял. Я не Эдисон, я установщик ;) (ну кроме остального). Я тебе рассказал, как на покупных сделано.

Пока покупное меня устраивает.  Не было желания свою делать... Я вон китайца СенМакс на Инфинити с кнопкой Старт/Стоп и то приладил. На одних реле.

Как тебе на своей сделать - могу подсказать. Про стабилитроны - это правильно. Кто ж тебя знает по первому вопросу? Может ты испугаешься слова "стабилитрон"? ;)

Если есть схема, не в голове, а на картинке - скинь, посмотрю. Если не хочешь на форум, кидай на мой ник на жмейле. Скеч тоже могу поглядеть.

Я тут писал уже, что у меня творческий кризис и дел никаких сейчас нет. Если буду занят - просто не отвечу, и никаких обид, ОК?

Про обходчик что думаешь? На старых меринах есть сложности. На современных - проще, если не IR-ключ.

скетчь отправил на почту, про обходчик еще пока не думал. но думаю использовать по типу старлайна, и ключ хоронить, хотя можно и разок считать если понять алгоритм. но это тоже долго и муторно. схема вся в голове к сожалению) есть плата двухсторонняя в lay)) я просто сразу на плату все переношу(( дебильная привычка... там схема простая, все входы защещены диодод, резистор, стабилитрон, выходы все через ULN2003 плюс на катушках реле диоды стоят в обратную полярность. и все это питается от lm7805  с обводкой из даташита, а gsm модуль от lm1085 3.3v

d13lider
d13lider аватар
Offline
Зарегистрирован: 19.10.2015

ну а на счет вопроса собственно, может можно как нибудь вот это ">=" добавить какой нибудь переменной... или допустим если значение такое то 650 и больше то ставим знак >= или все же никаких хитрых выходов из этой ситуации нет кроме как дописывать кучу условий...

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Тебе же уже написали как в самом верху.  Ты одну машину нормально сделай, а про универсальность потом подумаешь.

Ладно... до завтра. Батальоны просят огня!

Если что вечером писать стану, то уже не совсем я ;););)...

Как у Корнева: ноль пять, ноль семь, ноль тридцать три!

d13lider
d13lider аватар
Offline
Зарегистрирован: 19.10.2015

wdrakula пишет:

Тебе же уже написали как в самом верху.  Ты одну машину нормально сделай, а про универсальность потом подумаешь.

Ладно... до завтра. Батальоны просят огня!

Если что вечером писать стану, то уже не совсем я ;););)...

Как у Корнева: ноль пять, ноль семь, ноль тридцать три!

так все стабильно уже на 3-ех работает)))) ваз 2112, ваз 2110, VW pointer))

toc
Offline
Зарегистрирован: 09.02.2013

wdrakula, кажется byte не бывает отрицательный здесь
http://arduino.ru/Reference/Byte

Это ж не ява какая-то.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

toc пишет:
wdrakula, кажется byte не бывает отрицательный здесь http://arduino.ru/Reference/Byte Это ж не ява какая-то.

конечно char... но править уже не буду. Пусть все мои косяки судит история! ;) Гы!