сократить кто сможет помочь ?

glushenko
Offline
Зарегистрирован: 17.12.2014
if (results.value == 0x30B0020A
||results.value == 0x3000020A
||results.value == 0x30000A0A
||results.value == 0x3800020A
||results.value == 0x38000A0A
||results.value == 0x3400020A
||results.value == 0x34000A0A
||results.value == 0x3C00020A
||results.value == 0x3C000A0A
||results.value == 0x3080020A
||results.value == 0x30800A0A
||results.value == 0x3880020A
||results.value == 0x38800A0A
||results.value == 0x3480020A
||results.value == 0x34800A0A
||results.value == 0x3C80020A
||results.value == 0x3C800A0A
||results.value == 0x3040020A
||results.value == 0x30400A0A
||results.value == 0x3840020A
||results.value == 0x38400A0A
||results.value == 0x3440020A
||results.value == 0x34400A0A
||results.value == 0x3C40020A
||results.value == 0x3C400A0A
||results.value == 0x30C0020A
||results.value == 0x30C00A0A
||results.value == 0x38C0020A
||results.value == 0x38C00A0A
||results.value == 0x34C0020A
||results.value == 0x34C00A0A
||results.value == 0x3CC0020A
||results.value == 0x3CC00A0A
||results.value == 0x3020020A
||results.value == 0x30200A0A
||results.value == 0x3820020A
||results.value == 0x38200A0A
||results.value == 0x3420020A
||results.value == 0x34200A0A
||results.value == 0x3C20020A
||results.value == 0x3C200A0A
||results.value == 0x30A0020A
||results.value == 0x30A00A0A
||results.value == 0x38A0020A
||results.value == 0x38A00A0A
||results.value == 0x34A0020A
||results.value == 0x34A00A0A
||results.value == 0x3CA0020A
||results.value == 0x3CA00A0A
||results.value == 0x3060020A
||results.value == 0x30600A0A
||results.value == 0x3860020A
||results.value == 0x38600A0A
||results.value == 0x3460020A
||results.value == 0x34600A0A
||results.value == 0x3C60020A
||results.value == 0x3C600A0A
||results.value == 0x30E0020A
||results.value == 0x30E00A0A
||results.value == 0x38E0020A
||results.value == 0x38E00A0A
||results.value == 0x34E0020A
||results.value == 0x34E00A0A
||results.value == 0x3CE0020A
||results.value == 0x3CE00A0A
||results.value == 0x3010020A
||results.value == 0x30100A0A
||results.value == 0x3810020A
||results.value == 0x38100A0A
||results.value == 0x3410020A
||results.value == 0x34100A0A
||results.value == 0x3C10020A
||results.value == 0x3C100A0A
||results.value == 0x30B00A0A
||results.value == 0x38B0020A
||results.value == 0x38B00A0A
||results.value == 0x34B0020A
||results.value == 0x34B00A0A
||results.value == 0x3CB0020A
||results.value == 0x3CB00A0A
||results.value == 0x3070020A
||results.value == 0x30700A0A
||results.value == 0x3870020A
||results.value == 0x3470020A
||results.value == 0x34700A0A
||results.value == 0x3C70020A
||results.value == 0x3C700A0A
||results.value == 0x38700A0A
||results.value == 0x3030020A
||results.value == 0x30300A0A
||results.value == 0x3830020A
||results.value == 0x38300A0A
||results.value == 0x3430020A
||results.value == 0x34300A0A
||results.value == 0x3C30020A
||results.value == 0x3C300A0A
||results.value == 0x30D0020A
||results.value == 0x30D00A0A
||results.value == 0x38D0020A
||results.value == 0x38D00A0A
||results.value == 0x34D0020A
||results.value == 0x34D00A0A
||results.value == 0x3CD0020A
||results.value == 0x3CD00A0A
||results.value == 0x3050020A
||results.value == 0x30500A0A
||results.value == 0x3850020A
||results.value == 0x38500A0A
||results.value == 0x3450020A
||results.value == 0x34500A0A
||results.value == 0x3C50020A
||results.value == 0x3C500A0A
||results.value == 0x3090020A
||results.value == 0x30900A0A
||results.value == 0x3890020A
||results.value == 0x38900A0A
||results.value == 0x3490020A
||results.value == 0x34900A0A
||results.value == 0x3C90020A
||results.value == 0x3C900A0A

) digitalWrite(led10, HIGH); //выкл. включение

if (results.value == 0x20B00A0A
||results.value == 0x2000020A
||results.value == 0x20000A0A
||results.value == 0x2800020A
||results.value == 0x28000A0A
||results.value == 0x2400020A
||results.value == 0x24000A0A
||results.value == 0x2C00020A
||results.value == 0x2C000A0A
||results.value == 0x2080020A
||results.value == 0x20800A0A
||results.value == 0x2880020A
||results.value == 0x28800A0A
||results.value == 0x2480020A
||results.value == 0x24800A0A
||results.value == 0x2C80020A
||results.value == 0x2C800A0A
||results.value == 0x2040020A
||results.value == 0x20400A0A
||results.value == 0x2840020A
||results.value == 0x28400A0A
||results.value == 0x2440020A
||results.value == 0x24400A0A
||results.value == 0x2C40020A
||results.value == 0x2C400A0A
||results.value == 0x20C0020A
||results.value == 0x20C00A0A
||results.value == 0x28C0020A
||results.value == 0x28C00A0A
||results.value == 0x24C0020A
||results.value == 0x24C00A0A
||results.value == 0x2CC0020A
||results.value == 0x2CC00A0A
||results.value == 0x2020020A
||results.value == 0x20200A0A
||results.value == 0x2820020A
||results.value == 0x28200A0A
||results.value == 0x2420020A
||results.value == 0x24200A0A
||results.value == 0x2C20020A
||results.value == 0x2C200A0A
||results.value == 0x20A0020A
||results.value == 0x20A00A0A
||results.value == 0x28A0020A
||results.value == 0x28A00A0A
||results.value == 0x24A0020A
||results.value == 0x24A00A0A
||results.value == 0x2CA0020A
||results.value == 0x2CA00A0A
||results.value == 0x2060020A
||results.value == 0x20600A0A
||results.value == 0x2860020A
||results.value == 0x28600A0A
||results.value == 0x2460020A
||results.value == 0x24600A0A
||results.value == 0x2C60020A
||results.value == 0x2C600A0A
||results.value == 0x20E0020A
||results.value == 0x20E00A0A
||results.value == 0x28E0020A
||results.value == 0x28E00A0A
||results.value == 0x24E0020A
||results.value == 0x24E00A0A
||results.value == 0x2CE0020A
||results.value == 0x2CE00A0A
||results.value == 0x2010020A
||results.value == 0x20100A0A
||results.value == 0x2810020A
||results.value == 0x28100A0A
||results.value == 0x2410020A
||results.value == 0x24100A0A
||results.value == 0x2C10020A
||results.value == 0x2C100A0A
||results.value == 0x20B0020A
||results.value == 0x28B0020A
||results.value == 0x28B00A0A
||results.value == 0x24B0020A
||results.value == 0x24B00A0A
||results.value == 0x2CB0020A
||results.value == 0x2CB00A0A
||results.value == 0x2070020A
||results.value == 0x20700A0A
||results.value == 0x2870020A
||results.value == 0x2470020A
||results.value == 0x24700A0A
||results.value == 0x2C70020A
||results.value == 0x2C700A0A
||results.value == 0x28700A0A
||results.value == 0x2030020A
||results.value == 0x20300A0A
||results.value == 0x2830020A
||results.value == 0x28300A0A
||results.value == 0x2430020A
||results.value == 0x24300A0A
||results.value == 0x2C30020A
||results.value == 0x2C300A0A
||results.value == 0x20D0020A
||results.value == 0x20D00A0A
||results.value == 0x28D0020A
||results.value == 0x28D00A0A
||results.value == 0x24D0020A
||results.value == 0x24D00A0A
||results.value == 0x2CD0020A
||results.value == 0x2CD00A0A
||results.value == 0x2050020A
||results.value == 0x20500A0A
||results.value == 0x2850020A
||results.value == 0x28500A0A
||results.value == 0x2450020A
||results.value == 0x24500A0A
||results.value == 0x2C50020A
||results.value == 0x2C500A0A
||results.value == 0x2090020A
||results.value == 0x20900A0A
||results.value == 0x2890020A
||results.value == 0x28900A0A
||results.value == 0x2490020A
||results.value == 0x24900A0A
||results.value == 0x2C90020A
||results.value == 0x2C900A0A

) digitalWrite(led10, LOW);

 

glushenko
Offline
Зарегистрирован: 17.12.2014

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

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

в конце всегда 0A. это 1 байт. можно неплохо сократить если добавлять когда будешь использовать

можно дальше. повторяются в конце 00A0A или 0020A. еще больше сократит

glushenko
Offline
Зарегистрирован: 17.12.2014

бо/сь если удалю (    0А      ) то программа не считает код который посылает IR приемник     

это только чать проги   -- всего на 24 кб  перевалила   ( а она еще не написанна )  придел  28 

 

может посмотришь на всю прогу подскажешь ?

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

ты не понял. удалить 0А и потом добавить при использовании

не. все не хочется смотреть. просто скажи что твоя программа должна делать с этими кодами?

glushenko
Offline
Зарегистрирован: 17.12.2014

ну ка еще раз  ( удалю  А0 )  -   ( а после куда добавлю ? ) зачем тогда удалать ?   или я не пойму

glushenko
Offline
Зарегистрирован: 17.12.2014

ёто дипломный проэкт мой - это вентиляция  --- настоящая рабочая модель будет ( с пульта будет с кондиционера ) так много кода потому что пульт сложный - на каждую кнопу по 1000 кодов в разных формах!

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

хранишь без 0А. а как надо использовать (передать) в конце добавляешь

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

например для 10000 кодов тебе нужно 40кбайт памяти, а с самой простой оптимизацией всего 30к. то есть на 25% меньше. можно и дальше оптимизировать

glushenko
Offline
Зарегистрирован: 17.12.2014

походу ночь на дворе и мы не понимать  --  друг друга 

 

не могу загрузыть на плату" arduino uno" потому что  не влезает ( из за кода  слижком больщой ) как сократить или уменьщить этот код ( но что б пароли от кнопок остались ) ибо будут ошибки  потом 

glushenko
Offline
Зарегистрирован: 17.12.2014

ну побрацки    растолкуй еще чутка  -- я самоучка  не понимаю кое чего ///   код пишу самым простым языком -- от этого он больщой --   не знаю кто поможет -- вся надежда на вас - )

glushenko
Offline
Зарегистрирован: 17.12.2014

сам пульт передает  такой код 2050020A     а я его с помощю IRприемника принимаю      я не могуменять коды       я и думаю может как то програмно можно писать     

||results.value == 0x

как то еще ? 

 

||results.value == 0x2040020A,

2840020A,

2840620A,

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Если первая цифра кода тройка  -  digitalWrite(led10, HIGH); //выкл.включение

если двойка - digitalWrite(led10, LOW);

Snubist
Offline
Зарегистрирован: 18.02.2013

если разобрать код на составные то можно увидет:

для примера

0x2040020A

0x -признак 16ного числа

2 - признак выключения( или включения)

0400 - тело (команда что имено выключить)

20A -параметр (их всего в твоем коде два 20А и А0А)

если посмотреть тело то там тоже можно упростить так как два нуля в коце не меняются 

вот и получется если первя 2 то выключить, если 3 включить. Следущее 01 , 02, 03... говорят что именно включить или выключить

если просто нужно понять пришел код выключить или включить

то сделай так

if (results.value > 0x30000000) digitalWrite(led10, HIGH);
else digitalWrite(led10, LOW);

 

art100
Offline
Зарегистрирован: 09.03.2014

glushenko пишет:

if (results.value == 0x30B0020A
||results.value == 0x3000020A
||results.value == 0x30000A0A

||results.value == 0x2C900A0A

) digitalWrite(led10, LOW);

 

//consts china irremote KEYES slim mini -----------
#define IROK      0xFF02FD
#define IRUP      0xFF629D
#define IRLEFT    0xFF22DD
#define IRRIGHT   0xFFC23D
#define IRDOWN    0xFFA857
#define IR1       0xFF6897
#define IR2       0xFF9867
#define IR3       0xFFB04F
#define IR4       0xFF30CF
#define IR5       0xFF18E7
#define IR6       0xFF7A85
#define IR7       0xFF10EF
#define IR8       0xFF38C7
#define IR9       0xFF5AA5
#define IR0       0xFF4AB5
#define IRZVEZDA  0xFF42BD
#define IRRESHET  0xFF52AD
//consts china irremote KEYES slim mini -----------

не контрольная

не курсовая

не диплом

не дисертация

не проффесорская защита

не понты

я просто реальными кондеями рулю

Глупость человеческая безпредельна

Разум человеческий имеет предел.