Прошивка MegaD-328 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Спасибо. Буду разбираться. Пока что прошивку до кондиции доведу...
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Подскажите, для чего функция analyse_get_url нужна?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
analyse_get_url название говорит само за себя - синтаксический анализатор запроса GET по буржуйски parser
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Там парсер отдельно есть, а эта я не пойму что делает. Точнее пойму, но не пойму зачем. Такое ощущение что для чего то она раньше нужна была а щас не используется... Возращает значения от -3 до 2. А в прошивке один
cmd=analyse_get_url((char *)&(buf[dat_p+4]));
if (cmd==-1)
{
plen=fill_tcp_data_p(buf,0,PSTR("HTTP/1.0 401 Unauthorized\r\nContent-Type: text/html\r\n\r\n<h1>401 Unauthorized</h1>"));
goto SENDTCP;
}
для нее есть... Может ее, это.. того...))))
Кстати прошивка щас занимает 28956 bytes ( 88,4 %) памяти программ.
cmd=analyse_get_url((char *)&(buf[dat_p+4]));
if (cmd==-1)
{
plen=fill_tcp_data_p(buf,0,PSTR("HTTP/1.0 401 Unauthorized\r\nContent-Type: text/html\r\n\r\n<h1>401 Unauthorized</h1>"));
goto SENDTCP;
}
для нее есть... Может ее, это.. того...))))
Кстати прошивка щас занимает 28956 bytes ( 88,4 %) памяти программ.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
это проверка пароля видимо остальные возвращаемые значения использывались ранее
ну и выкиньте из analyse_get_url лишнее
например
по этому значению можно было плюнуть что то типа " не введен пароль"
ну и выкиньте из analyse_get_url лишнее
например
это видимо был пустой парольif(*str==' ')
{
// end of url and no slash after password:
return(-2);
}
по этому значению можно было плюнуть что то типа " не введен пароль"
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Выкинул полностью, она там не нужна была. Сделал просто чтоб Usage: http://host_or_ip/password вываливался если нет пароля, и 401 Unauthorized если не правильный. Еще минус 0,4% памяти))).
Сижу дальше код причесываю, функции некоторые объединил,что-то убрал что-то добавил. Много лишнего встретил...))) Заметил что ifelse экономнее чем switch ))). Ну и комментарии и еще раз комментарии))). Может кому пригодится оптимизированная прошивка))). Пытаюсь оставить его удобочитаемым.
Закончу выложу на оценку Андрею. Скоро UDP меня ждет.
P.S. А сколько понадобиться под 1_ware места?
Сижу дальше код причесываю, функции некоторые объединил,что-то убрал что-то добавил. Много лишнего встретил...))) Заметил что ifelse экономнее чем switch ))). Ну и комментарии и еще раз комментарии))). Может кому пригодится оптимизированная прошивка))). Пытаюсь оставить его удобочитаемым.
Закончу выложу на оценку Андрею. Скоро UDP меня ждет.
P.S. А сколько понадобиться под 1_ware места?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Я был бы только рад, если бы появилась альтернативная прошивка, которая была бы чем-то лучше.
Что касается "много лишнего". Хорошо, если вы тестируете функциональность вашего варианта. И хорошо, если при этом она не пострадает.
Оптимизацией и выкидыванием "лишнего" кода, кстати, весьма успешно занимается сам компилятор, если указать ему соответствующие опции.
В любом случае я надеюсь ваш вариант будет способствовать развитию проекта.
Оценку скорее должен делать не я, а пользователи.
Что касается "много лишнего". Хорошо, если вы тестируете функциональность вашего варианта. И хорошо, если при этом она не пострадает.
Оптимизацией и выкидыванием "лишнего" кода, кстати, весьма успешно занимается сам компилятор, если указать ему соответствующие опции.
В любом случае я надеюсь ваш вариант будет способствовать развитию проекта.
Оценку скорее должен делать не я, а пользователи.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Andrey_B, как программист уверяю что идеальных компиляторов нет. По этому случаю какой бы компилятор и язык высокого уровня не был (C), язык низкого уровня (Assambler) всегда выигрывает в объеме. А всему причина логика человека. Только на Assamblere писать долго.))))
Вариант тестирую. Абсолютно вся функциональность сохранена и будет сохранена далее.))) Работаю с прошивкой 3.25b1))) А про Вашу оценку я говорил потому, что скорее пытаюсь сделать платформу для новых опций, чем альтернативу. Сохранить функционал, сделать удобочитаемым и малым по объему.
P.S.За что отвечает переменная mode. Ни как не соображу
Вариант тестирую. Абсолютно вся функциональность сохранена и будет сохранена далее.))) Работаю с прошивкой 3.25b1))) А про Вашу оценку я говорил потому, что скорее пытаюсь сделать платформу для новых опций, чем альтернативу. Сохранить функционал, сделать удобочитаемым и малым по объему.
P.S.За что отвечает переменная mode. Ни как не соображу
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Не могу победить ни как 1-Ware. Все вроде что только можно подключил. Не хочет делать поиск устройств (((. Помогите плиз. Где я ошибся?
Есть проект в AtmelStudio и Proteus... Делал все по примеру http://kibermaster.net/rabota-s-shinoy- ... b20-k-avr/ . Помогите кто чем сможет....
Есть проект в AtmelStudio и Proteus... Делал все по примеру http://kibermaster.net/rabota-s-shinoy- ... b20-k-avr/ . Помогите кто чем сможет....
- Вложения
-
- MegaD.rar
- AtmelStudio 6.2 - проект.
- (357 КБ) 268 скачиваний
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Замучил я его ))))). Запустилось. Снова этот компилятор - редиска!
Добавил 1-Ware. Пока что только режим чтения.
Добавил 1-Ware. Пока что только режим чтения.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
А Вы к стати, пробовали компилировать в AVR Studio 4 ?GruNT писал(а):Замучил я его ))))). Запустилось. Снова этот компилятор - редиска!
А то чего то Ваш .hex работает.
А скомпилированный мной, не хочет.
Оригинальные от Andrey_B компилируются.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
К сожалению нет. У меня версия 6.2. Библиотеки кстати я тоже чуть поправил... и выставил частоту работы в самом проектеasteroid писал(а):А Вы к стати, пробовали компилировать в AVR Studio 4 ?GruNT писал(а):Замучил я его ))))). Запустилось. Снова этот компилятор - редиска!
А то чего то Ваш .hex работает.
А скомпилированный мной, не хочет.
Оригинальные от Andrey_B компилируются.
Заработал наконец-то 1-Ware. Режим чтения до 10 устройств на канал. Осталось с портами разобраться, устранить задержки и все))) На данный момент занято 93,2% памяти.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Голос из зала:GruNT писал(а): ...
Заработал наконец-то 1-Ware. Режим чтения до 10 устройств на канал. Осталось с портами разобраться, устранить задержки и все))) На данный момент занято 93,2% памяти.
- а может диммер добавить? Чтобы был с привязкой к 0?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Посмотрим что из памяти в конце останется. Вообще хочется чтоб была полная поддержка 1-ware. Пока что работают DS18B20,DS18S20,DS1990 (Botton).dimik2000 писал(а):Голос из зала:GruNT писал(а): ...
Заработал наконец-то 1-Ware. Режим чтения до 10 устройств на канал. Осталось с портами разобраться, устранить задержки и все))) На данный момент занято 93,2% памяти.
- а может диммер добавить? Чтобы был с привязкой к 0?
В последнее время возникает желание сделать внешний интерфейс как предлагали ранее (без php, чтоб сервера не требовало. Только HTML и Java). Места много полезного освободится.
И запихнуть в какой нибудь архивчик доступный для скачивания. Но как из минусов - придется вести поддержу этого интерфейса параллельно с обновлением прошивки megaD.
Думаю время покажет. А 1-Ware на megaD лично для меня на много удобнее чем через DS9490R. Это меньше проводов (не надо тянуть все к серверу где стоит DS9490R) и быстродействие. Да, и цена намного дешевле...
А если еще и API от megaD прикрутить))) вообще красота получается...
Алгоритм такой:
На порте с 1-Ware - меню со списком доступных в системе устройств.
Для каждого выводится адрес и подменю доступных настроек.
Датчики опрашиваются раз в минуту, данные с адресом записываются в еепром (обновляются).
По запросу - чтение из еепром и вывод на сервер.
Исполнительные модули на 1-ware работают в режиме похожем на работу обычных портов в режиме Out.
Как думаете, жить будет?
P.S. Электроника не работает только в 2 случаях: либо нет контакта, либо есть - но лишний
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Выложите кто-нибудь последнюю прошивку, скомпилированную под мегу в дип-корпусе, пожалуйста.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
И еще один голос из зала.
Andrey_B а может все же обсуждение альтернативных, переделанных версий программ и прошивок в другой ветке ?
А тут только те, которые указаны в заголовке " Прошивка MegaD-328 (релизы, обсуждения, предложения)" ?
Andrey_B а может все же обсуждение альтернативных, переделанных версий программ и прошивок в другой ветке ?
А тут только те, которые указаны в заголовке " Прошивка MegaD-328 (релизы, обсуждения, предложения)" ?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Согласен с asteroid. Чтобы было больше порядка, GruNT, создайте пожалуйста новую тему для обсуждения альтернативного варианта.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Кто чем компилирует прошивку под вин? У меня винавр делает слишком большую прошивку (не лезет в чип). Atmel Studio 6 вообще вываливает кучу ошибок.
Также у меня скрипт по команде:
где "192.168.0.2" - адрес сетевого интерфейса, куда подключены девайсы, не видит девайсы. Ничего не выводит. Пробывал на разных компах с разными вариантами подключения девайсов - результат тот же. В чем может быть дело?
ЗЫ: большая-пребольшая просьба, выложите все таки .hex последней прошивки под мегу в дип-корпусе кто-нибудь. Замучался уже с этими компиляторами. Спасибо.
Также у меня скрипт по команде:
Код: Выделить всё
php megad-cfg.php --local-ip 192.168.0.2 --scan
ЗЫ: большая-пребольшая просьба, выложите все таки .hex последней прошивки под мегу в дип-корпусе кто-нибудь. Замучался уже с этими компиляторами. Спасибо.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
zero, скрипт megad-cfg.php отлично работает в Linux и Windows 7
Однако пользователи Windows XP отмечают, что в этой ОС скрипт не работает. Если у вас Windows XP, попробуйте Windows 7 или 8.
Вам просто убрать два доп. АЦП порта или сделать какие-нибудь другие изменения? Вы что-то говорили про последовательность портов. Она должна быть для релизов 1-3 ?
Однако пользователи Windows XP отмечают, что в этой ОС скрипт не работает. Если у вас Windows XP, попробуйте Windows 7 или 8.
Вам просто убрать два доп. АЦП порта или сделать какие-нибудь другие изменения? Вы что-то говорили про последовательность портов. Она должна быть для релизов 1-3 ?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
У меня вин х64 и freebsd. На обеих результат тот же.Andrey_B писал(а):zero, скрипт megad-cfg.php отлично работает в Linux и Windows 7
Однако пользователи Windows XP отмечают, что в этой ОС скрипт не работает. Если у вас Windows XP, попробуйте Windows 7 или 8.
В начале файла main.c Вы пишете:Andrey_B писал(а): Вам просто убрать два доп. АЦП порта или сделать какие-нибудь другие изменения? Вы что-то говорили про последовательность портов. Она должна быть для релизов 1-3 ?
ниже:* ВНИМАНИЕ! Перед загрузкой прошивки убедитесь,
* что последовательность портов, описанная в массиве "aio"
* соответствует вашей версии устройства.
Код: Выделить всё
// Available IO
#define IO_SIZE 16
// MegaD-328-7I7O Ver 4-5 sequence
char *aio[IO_SIZE] = {"C5", "C4", "C3", "C2", "C1", "C0", "D7", "B1", "D0", "D1", "D3", "D4", "D5", "D6", "A6", "A7"};
// MegaD-328-7I7O Ver 1-3 sequence
//char *aio[IO_SIZE] = {"C5", "D0", "C4", "D1", "C3", "C2", "D3", "B1", "D7", "D6", "D5", "C0", "D4", "C1", "A6", "A7"};
У меня девайсы собраны по схеме/плате ТНК. В данный момент никак не реагирует светодиод (висит на PB1). Из-за этого?
Извините за глупые вопросы, в С пока ничего понять не могу, но буду исправляться.