-
- Еще один вывод из обсуждения - формирование системы логгинга -> - Evgeny_CD(14.01.2008 12:37, ссылка)
- По сути, я описал модифицированный assert. Я, конечно, знал про него, но после того, как "заново придумал", он заиграл для меня новыми красками :) -> - Evgeny_CD(14.01.2008 12:10, ссылка)
- Вы Евгений прямо чувствуете, куда ветер дует. EN/IEC60335-1 Class B norm скоро обяжет всех включать подобную фигню в свой код. AlexandrY(306 знак., 14.01.2008 10:04)
- отмечу, что позиция AlexandrY насчет Borland vs Python мне давно известна. я с ней не согласен. однако предпочитаю флейм на пустом месте больше не разводить. Стараниями EvgenyCD слово пЫтон стало синоним чего-то такого немного ругательного, так что я bialix_(75 знак., 15.01.2008 12:32)
- Собственно, глубинной сути Python я обучился на Вашем сайте. Не как языку программирования (на эту тему есть куча буков), а именно тому, что с ним делать потом. Жаль, если меня в "похораниватели" Python записали. - Evgeny_CD(15.01.2008 12:41)
- нет, просто именование его как "пЫтон" -- есть форма стеба. по моему мнению она формирует соответствующее несерьезное а местами и негативное отношение к этому инструменту. Просто такая моя мысль. - bialix_(15.01.2008 13:07)
- Вы просто заставляете меня внимательно следить за терминологией. Ок, буду исправляться. - Evgeny_CD(15.01.2008 13:10)
- нет, просто именование его как "пЫтон" -- есть форма стеба. по моему мнению она формирует соответствующее несерьезное а местами и негативное отношение к этому инструменту. Просто такая моя мысль. - bialix_(15.01.2008 13:07)
- Собственно, глубинной сути Python я обучился на Вашем сайте. Не как языку программирования (на эту тему есть куча буков), а именно тому, что с ним делать потом. Жаль, если меня в "похораниватели" Python записали. - Evgeny_CD(15.01.2008 12:41)
- Выложите? - diper(14.01.2008 14:05)
- Сам ищу, директива вышла в прошлом месяце. - AlexandrY(14.01.2008 20:39)
- В Embedded Control Europe была статья про
негоIEC60730, но по той же теме. - Алексей Мусин(15.01.2008 11:31, ссылка)- Безсвинцовая технология-II. Уважаю европейцов! Вот она, страна победившей демократии. Evgeny_CD(729 знак., 15.01.2008 12:47)
- :). ST - не китайцы - Алексей Мусин(15.01.2008 12:59, ссылка)
- Безсвинцовая технология-II. Уважаю европейцов! Вот она, страна победившей демократии. Evgeny_CD(729 знак., 15.01.2008 12:47)
- В Embedded Control Europe была статья про
- Сам ищу, директива вышла в прошлом месяце. - AlexandrY(14.01.2008 20:39)
- Как Вам сказать... Я не считаю, что именно Python - рулез на все времена. Но то, что для серьезного проекта должна быть скриптовая система работы с исходниками на основе тегов в коде, у меня никаких сомнений не вызывает. И эта система должна быть Evgeny_CD(438 знак., 14.01.2008 10:52)
- Я вижу проблему иначе. AlexandrY(888 знак., 14.01.2008 20:58)
- Насчет RAD тулзов несогласен. Не так страшен черт, как его мулюют. Я не готов представить свою систему GPL, но все там не так и сложно, как кажется. Главное, чтобы база была SQL, и работать с ней из высокоуровневого языка (С#/Python/Ruby/...). Evgeny_CD(315 знак., 14.01.2008 21:56)
- Вот как раз с переносимостью в GPL совсем плохо. AlexandrY(763 знак., 14.01.2008 22:21)
- Александр, мы с Вами созданы, чтобы дополнять друг друга :))) Evgeny_CD(1340 знак., 15.01.2008 00:59)
- Да я просто так, совет дать хотел по оптимизации усилий. AlexandrY(127 знак., 15.01.2008 01:47)
- А что в качестве этой самой RAD платформы Вы порекомендуете? - Evgeny_CD(15.01.2008 10:40)
- Да я просто так, совет дать хотел по оптимизации усилий. AlexandrY(127 знак., 15.01.2008 01:47)
- Александр, мы с Вами созданы, чтобы дополнять друг друга :))) Evgeny_CD(1340 знак., 15.01.2008 00:59)
- Вот как раз с переносимостью в GPL совсем плохо. AlexandrY(763 знак., 14.01.2008 22:21)
- Насчет RAD тулзов несогласен. Не так страшен черт, как его мулюют. Я не готов представить свою систему GPL, но все там не так и сложно, как кажется. Главное, чтобы база была SQL, и работать с ней из высокоуровневого языка (С#/Python/Ruby/...). Evgeny_CD(315 знак., 14.01.2008 21:56)
- Стандартизации в пределах фирмы подлежит именно система тегов и оформления текста. А то, чем эти теги обрабатываются - вторично. Может завтра найдется haskell какой, и будет ясно, что инструметарий надо переписать именно на нем. И что? Да ничего. Evgeny_CD(132 знак., 14.01.2008 11:54)
- дык и посмотрите TinyOS - именно то что вы хотите. Только без SQL - Gamma SPb(14.01.2008 10:57)
- :) nesC оказал неизгладимое впечатление на мои "концепции" -> - Evgeny_CD(14.01.2008 11:06, ссылка)
- Я вижу проблему иначе. AlexandrY(888 знак., 14.01.2008 20:58)
- свежо предание... - Gamma SPb(14.01.2008 10:19)
- отмечу, что позиция AlexandrY насчет Borland vs Python мне давно известна. я с ней не согласен. однако предпочитаю флейм на пустом месте больше не разводить. Стараниями EvgenyCD слово пЫтон стало синоним чего-то такого немного ругательного, так что я bialix_(75 знак., 15.01.2008 12:32)
- Итого, против самого способа экономичного логгинга возражений нет. Возник спор относительно методов использования, но это не по теме. - Evgeny_CD(14.01.2008 00:46)
- я хочу заметить, что незнание английского языка не является оправданием для безграмотности в части терминов. header -- читается как хЭдер, а не хИдер (ётм!) и означает "заголовочный файл" или "заголовок", если уж так хоцца сократить. - bialix(13.01.2008 22:15)
- Удалил подветку, т.к. оффтопик получился. - rezident(14.01.2008 19:33)
- Ок. Спасибо! - Evgeny_CD(13.01.2008 22:21)
- Не вижу логики. Если ошибки паковать в битовую структуру, то почему ее (по событию записи в эту структуру) нельзя через UART передавать наружу? Раскодировать-то ошибки все равно в PC придется. - rezident(13.01.2008 21:15)
- Если есть пысюк или логгер какой на UART - полностью согласен (это просто логичное дополнение). Но я рассматривал случай полностью автономной системы. - Evgeny_CD(13.01.2008 21:18)
- Что-то я не совсем понял, а какой канал связи для считывания лога этих ошибок вы хотите иметь/использовать? UART вроде самый простой и доступный. - rezident(13.01.2008 21:26)
- Сеть радиоканальный модулей. 100шт. Тестируем 1 неделю. Живет от бат. UART на всех не напасешься. Протестировал. Принес мешок с девайсами. Подрубил. Считал. Проанализировал. - Evgeny_CD(13.01.2008 21:29)
- А вам важен только сам факт фиксации ошибки? Время и сопутствующие условия не интересуют? - rezident(13.01.2008 21:32)
- Фиксировать все надо по максимуму. В пределах возможного. Если есть UART - ок. Но я рассматриваю ситуацию, когде его нет принципиально. В первый раз зафиксировали какие именно ошибки были. Потом память пожно перерасределить - те ошибки, которых нет - Evgeny_CD(84 знак., 13.01.2008 21:37)
- Т.е. если ошибка данного типа зафиксирована, то уже не интерсует ее повторяемость? Что за тип прибора в котором вы собрались таким образом регистрировать ошибки? И главное, ошибки чего? Программы или ее взаимодействия с внешними объектами? - rezident(13.01.2008 21:50)
- Радиосеть. Нетривиальная. Когда я отлаживаю токо один мастер и один слейв (начало проекта) - нормальныая отладка. Но когда я поставил на прогон сеть из сотни девайсов - я буду рад хотя бы битовым фактам ошибок, вместо одного глобального бита - сеть Evgeny_CD(12 знак., 13.01.2008 21:54)
- вообще говоря, ошибки в радиосетях отлавливаются аппаратно-программными снифферами. Представляю, сколько вам нужно будет времени, чтобы считать эти логи из сотни-другой девайсов, а потом осмыслить результаты (если они будут) и найти закономерность... - Gamma SPb(13.01.2008 22:20)
- Нет никаких предпосылок думать, что много. "Вкалывают роботы". А аппаратно-программные сниферы оставим для тех, у кого лишнего бабла много. Evgeny_CD(841 знак., 13.01.2008 22:28)
- =)))) Евгений, речь как раз о том, сколько времени займет считывание лога из мешка девайсов и заливки исправленной прошивки. А про логгеры - ну уж не надо. Это делается на том же радиоканале + ПК за довольно быстрый срок. Gamma SPb(116 знак., 13.01.2008 22:37, ссылка)
- кстати, по поводу количества бабла, позволю себе процитировать =) Gamma SPb(384 знак., 13.01.2008 22:52, ссылка)
- Один мАААААААААхонький нюанс есть. Если Вы делаете 1001 клон ZigBee, то снифер Вы можете купить. Если Вы делаете специфичный для задачи протокол (например, потому что ZigBee в данном случае не канает), то разработка снифера = решению основнойзадачи. - Evgeny_CD(13.01.2008 23:51)
- ну здрасте... сниффер не должен раздавать адреса и не должен обеспечивать маршрутизацию. он должен просто собирать пакеты. А по поводу канает/не канает - сейчас огромное количество open source протоколов для мелких сетей, начиная от Gamma SPb(138 знак., 14.01.2008 00:02)
- Согласен насче сбора. Но он еще и декодировать всю шнягу в эфире должен. А это сложнее. Насчет готовых систем - в общем, верно, но в частности - нет. В данном случае речь идет о custom решении с предельными параметрами, которые в любой универсальной Evgeny_CD(35 знак., 14.01.2008 00:08)
- простите, а ХYли там декодировать? пакет разобрать? - Gamma SPb(14.01.2008 00:52)
- Угу. И еще самую малость - декодировать состояния конечных автоматов внутри протокола. - Evgeny_CD(14.01.2008 00:59)
- "Я тибе адын умный вестч скажу..." Без снифера отлаживать сеть (любую) - это полный капздец. И никакие битовые логеры тебе не помогут. Чаще всего ошибки - в реализации машины состояний (очень трудно сразу учесть все нюансы) =AlexD=(624 знак., 14.01.2008 08:42)
- Убедили, что снифер булет рулез! Насчет "где-то есть глюк" - не совсем так. В предложенном мною примере есть 1000 "контрольных точек". Для проекта 10к строк маркер в каждой десятой строке. И "где-то" можно вычислить довольно подоробно. - Evgeny_CD(14.01.2008 10:47)
- Да, НО =AlexD=(524 знак., 14.01.2008 11:54)
- Засад масса, категорически согласен. Я всего лишь изначально изложил очень экономичную методолгию кодинга системы мониторинга, с мнимумом ручной работы. Может, что аналогичное есть, дабы опылиться идеями оттуда? - Evgeny_CD(14.01.2008 11:57)
- Да я не против сжатия в один бит сообщения типа "Error command for a current state" в один бит для автономного девайса. Это очевидная идея, хотя не факт, что лучшая. Но называть это "изящная идея по отладке систем" слишком громко. - =AlexD=(14.01.2008 12:12)
- Да бог с ней, с силой звука :) Я просто предложил один из вариантов с максимальной автоматизацией кодинга и обработки результатов. - Evgeny_CD(14.01.2008 12:31)
- Если ошибок мало, а вариантов ошибок много, гораздо информативнее и оптимальнее по памяти не выставление битов ошибки, а лог ошибки в виде списка их номеров(возможно с привязкой к времени, состоянию и пр.). - =AlexD=(14.01.2008 12:16)
- Согласен. Осталось придумать способ автоматического формирования соотвуствующей программной структуры. Типа расставляешь метки в коде - вот тут хочу пологить. Потом прикидывашь, сколько осталось памяти, и выбираешь способ логгинга в каждой точке. Ну Evgeny_CD(22 знак., 14.01.2008 12:34)
- Блин, ты двинулся на этих внешних тулзах. Препроцессор или шаблон сделают всё в лучшем виде. - =AlexD=(14.01.2008 12:46)
- +1, причем писать все это во флешу, если "размер добавленного исходника мало волнует". Потому как при ресете контроллера, например, если exeption по невыровненному адресу не обрабатывается хитро все структуры Евгения страртап обнулит =))) - Gamma SPb(14.01.2008 12:24)
- Да, я согласен, что SPI|I2C EEPROM сильно улучшит пользу от любых методов отладки :). If их пожно юзать - вопросов нет. - Evgeny_CD(14.01.2008 12:29)
- при чем тут SPI/I2C? Во внутреннюю флешу - Gamma SPb(14.01.2008 12:31)
- Ну и туда можно. If дырка не протрется, и место в ней есть :) - Evgeny_CD(14.01.2008 12:35)
- при чем тут SPI/I2C? Во внутреннюю флешу - Gamma SPb(14.01.2008 12:31)
- Да, я согласен, что SPI|I2C EEPROM сильно улучшит пользу от любых методов отладки :). If их пожно юзать - вопросов нет. - Evgeny_CD(14.01.2008 12:29)
- Согласен. Осталось придумать способ автоматического формирования соотвуствующей программной структуры. Типа расставляешь метки в коде - вот тут хочу пологить. Потом прикидывашь, сколько осталось памяти, и выбираешь способ логгинга в каждой точке. Ну Evgeny_CD(22 знак., 14.01.2008 12:34)
- Да я не против сжатия в один бит сообщения типа "Error command for a current state" в один бит для автономного девайса. Это очевидная идея, хотя не факт, что лучшая. Но называть это "изящная идея по отладке систем" слишком громко. - =AlexD=(14.01.2008 12:12)
- Засад масса, категорически согласен. Я всего лишь изначально изложил очень экономичную методолгию кодинга системы мониторинга, с мнимумом ручной работы. Может, что аналогичное есть, дабы опылиться идеями оттуда? - Evgeny_CD(14.01.2008 11:57)
- ваш принцип подразумевает вопрос "есть или нет". А это однозначно assert или if_else_. Добавьте к вашему коду еще 1000-2000 строк. - Gamma SPb(14.01.2008 10:58)
- Собственно, я описал некий "битовый assert". Это нормальный assert, токо ему в качестве второго параметра передается "номер испытания". Эти номера проставляются автоматически, как я говорил, тулзой. И каждому номеру соответсвует бит в структуре. -> - Evgeny_CD(14.01.2008 12:08, ссылка, ссылка)
- Размер добавленного исходника меня мало волнует. Важно, сколько тактов проца будет тратиться на каждую контрольную точку, и сколько памяти надо под лог. За это и воюем. - Evgeny_CD(14.01.2008 11:03)
- я где то написал про размер? - Gamma SPb(14.01.2008 11:04)
- Да, НО =AlexD=(524 знак., 14.01.2008 11:54)
- Убедили, что снифер булет рулез! Насчет "где-то есть глюк" - не совсем так. В предложенном мною примере есть 1000 "контрольных точек". Для проекта 10к строк маркер в каждой десятой строке. И "где-то" можно вычислить довольно подоробно. - Evgeny_CD(14.01.2008 10:47)
- "Я тибе адын умный вестч скажу..." Без снифера отлаживать сеть (любую) - это полный капздец. И никакие битовые логеры тебе не помогут. Чаще всего ошибки - в реализации машины состояний (очень трудно сразу учесть все нюансы) =AlexD=(624 знак., 14.01.2008 08:42)
- Угу. И еще самую малость - декодировать состояния конечных автоматов внутри протокола. - Evgeny_CD(14.01.2008 00:59)
- простите, а ХYли там декодировать? пакет разобрать? - Gamma SPb(14.01.2008 00:52)
- Согласен насче сбора. Но он еще и декодировать всю шнягу в эфире должен. А это сложнее. Насчет готовых систем - в общем, верно, но в частности - нет. В данном случае речь идет о custom решении с предельными параметрами, которые в любой универсальной Evgeny_CD(35 знак., 14.01.2008 00:08)
- ну здрасте... сниффер не должен раздавать адреса и не должен обеспечивать маршрутизацию. он должен просто собирать пакеты. А по поводу канает/не канает - сейчас огромное количество open source протоколов для мелких сетей, начиная от Gamma SPb(138 знак., 14.01.2008 00:02)
- Один мАААААААААхонький нюанс есть. Если Вы делаете 1001 клон ZigBee, то снифер Вы можете купить. Если Вы делаете специфичный для задачи протокол (например, потому что ZigBee в данном случае не канает), то разработка снифера = решению основнойзадачи. - Evgeny_CD(13.01.2008 23:51)
- Интересно, а каким снифером Вы собрались отлавливать, что радиополе разное в разных точках? И что в точке стояния снифера была ошибка в эфире, а в других местах она где была, где - нет? - Evgeny_CD(13.01.2008 22:51)
- радиополе в сетках это неуловимый Джо, которого никто не ловит. Знаете почему? Нормальные трансиверы имеют MAC уровень, и даже если нет - при чем тут ошибка эфира? вы кого собираетесь логать, железо или свой софт, я так и не понял... - Gamma SPb(13.01.2008 22:55)
- или таким способом вы и канальный уровень своего проекта отлаживать собираетесь? мама родная... - Gamma SPb(13.01.2008 22:56)
- Я хочу получить предельно простой и экономичный способ stand alone логгинга. - Evgeny_CD(13.01.2008 23:52)
- или таким способом вы и канальный уровень своего проекта отлаживать собираетесь? мама родная... - Gamma SPb(13.01.2008 22:56)
- радиополе в сетках это неуловимый Джо, которого никто не ловит. Знаете почему? Нормальные трансиверы имеют MAC уровень, и даже если нет - при чем тут ошибка эфира? вы кого собираетесь логать, железо или свой софт, я так и не понял... - Gamma SPb(13.01.2008 22:55)
- кстати, по поводу количества бабла, позволю себе процитировать =) Gamma SPb(384 знак., 13.01.2008 22:52, ссылка)
- =)))) Евгений, речь как раз о том, сколько времени займет считывание лога из мешка девайсов и заливки исправленной прошивки. А про логгеры - ну уж не надо. Это делается на том же радиоканале + ПК за довольно быстрый срок. Gamma SPb(116 знак., 13.01.2008 22:37, ссылка)
- Ну да. Особенно, если фиксация ошибки не привязана к каким-либо временным меткам, то закономерностей можно вообще не найти. - rezident(13.01.2008 22:25)
- Нет никаких предпосылок думать, что много. "Вкалывают роботы". А аппаратно-программные сниферы оставим для тех, у кого лишнего бабла много. Evgeny_CD(841 знак., 13.01.2008 22:28)
- К сожалению, опыта отладки работы больших (>7 устройств) сетей и радиосетей у меня нет. Но, по-моему, большинство ошибок все же можно найти и в сети из двух-трех устройств. Особенно, если мастер всего один. - rezident(13.01.2008 22:05)
- Имею в виду найти ошибки в маленькой сети до того, как объединять ее в большую. - rezident(13.01.2008 22:07)
- вообще говоря, ошибки в радиосетях отлавливаются аппаратно-программными снифферами. Представляю, сколько вам нужно будет времени, чтобы считать эти логи из сотни-другой девайсов, а потом осмыслить результаты (если они будут) и найти закономерность... - Gamma SPb(13.01.2008 22:20)
- Радиосеть. Нетривиальная. Когда я отлаживаю токо один мастер и один слейв (начало проекта) - нормальныая отладка. Но когда я поставил на прогон сеть из сотни девайсов - я буду рад хотя бы битовым фактам ошибок, вместо одного глобального бита - сеть Evgeny_CD(12 знак., 13.01.2008 21:54)
- все бы хорошо, но что бы искать ошибки, нужно знать где =) И это как раз самое сложное. А так, имхо, - велосипед с моторчегом ("некая утилита, например на Пытоне") - Gamma SPb(13.01.2008 21:43)
- Если обнаружен факт, что процессор прошелся по такой-то ветви программы, хотя он тут не должен ходить - дальше токо BRAIN.SYS поможет. - Evgeny_CD(13.01.2008 21:45)
- Евгений, поставьте на homepage страничку по ссылке Gamma SPb(302 знак., 13.01.2008 22:24, ссылка)
- Если обнаружен факт, что процессор прошелся по такой-то ветви программы, хотя он тут не должен ходить - дальше токо BRAIN.SYS поможет. - Evgeny_CD(13.01.2008 21:45)
- Т.е. если ошибка данного типа зафиксирована, то уже не интерсует ее повторяемость? Что за тип прибора в котором вы собрались таким образом регистрировать ошибки? И главное, ошибки чего? Программы или ее взаимодействия с внешними объектами? - rezident(13.01.2008 21:50)
- Фиксировать все надо по максимуму. В пределах возможного. Если есть UART - ок. Но я рассматриваю ситуацию, когде его нет принципиально. В первый раз зафиксировали какие именно ошибки были. Потом память пожно перерасределить - те ошибки, которых нет - Evgeny_CD(84 знак., 13.01.2008 21:37)
- А вам важен только сам факт фиксации ошибки? Время и сопутствующие условия не интересуют? - rezident(13.01.2008 21:32)
- Сеть радиоканальный модулей. 100шт. Тестируем 1 неделю. Живет от бат. UART на всех не напасешься. Протестировал. Принес мешок с девайсами. Подрубил. Считал. Проанализировал. - Evgeny_CD(13.01.2008 21:29)
- Что-то я не совсем понял, а какой канал связи для считывания лога этих ошибок вы хотите иметь/использовать? UART вроде самый простой и доступный. - rezident(13.01.2008 21:26)
- Если есть пысюк или логгер какой на UART - полностью согласен (это просто логичное дополнение). Но я рассматривал случай полностью автономной системы. - Evgeny_CD(13.01.2008 21:18)