hedgeov: (Default)
А может у кого-нибудь завалялся ненужный или малонужный процессор E6850 (или E6750)? Я бы от него избавил за разумное вознаградение - очень уж тяжело на Celeron 440 работать ЖЖ читать :)

Нашел.
hedgeov: (Default)
Для своих микроконтроллерных проектов я использую Eclipse в качестве редактора и системы сборки. Долгое время я не мог найти способа автоматически вставлять в билд номер ревизии системы контроля версий. Сегодня наткнулся на решение этой проблемы. Оно оказалось совершенно элементарным (как я и предполагал изначально). Оно описано тут.
hedgeov: (Default)

А подскажите как быстро (часа за 2) и без использования перла и прочих awk (не умею я их) решить такую задачку: Имеется 2 текстовых файла, в них строки в формате
 —-
YYY-MM-DD:HH:MM:SS| некий текст
некий текст
некий текст
 —-
YYY-MM-DD:HH:MM:SS| другой текст
другой текст
другой текст


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

Куда податься?
Я думал сделать xml и потом какой-то волшебный xslt, который мне всё отсортирует и раскрасит. Но как ???


В общем решена проблема с помощью XML и XSLT. Путем 4-х последовательных замен в FAR, из исходного текста сделана XML формата
<LOGS>
  <LOG>
    <NAME>Log Name </NAME>
    <REC><TIME>time</TIME><BODY>некий текст</BODY></REC>
  </LOG>
</LOGS>


На неё напущен xsl.
Да, в 2 часа не уложился. Уложился примерно в 3. :)
UPD: Нда. Оно уже 10 минут жует общий XML, собраный из 5 файлов общим объемом 9 мегабайт...
hedgeov: (Default)
PCAD 2006 это полный ппц. Даже после Eagle PCB. Гуру среди читающих есть?

UPD. Вопрос: имеется схема и уже разведенная плата. Я хочу выкинуть из схемы лишние компоненты, залить полученный нетлист в редактор разводки и убрать из разводки удаленные компоненты и соединения. Как это сделать?

UPD2: Справился. Для решения этой проблемы надо открыть исходную схему, включить опцию Record ECO. Потом удалить/добавить чего хочется. Затем сохранить изменения, положительно ответив на вопрос "сохранять файл ECO?". Затем открыть редактор платы, в Utils->Import ECO... и там указать .ECO файл. Не без проблем, но оно всё лишнее удалило. Что не может удалить автоматически  — удалить ручками, а соответствующую строчку в .ECO файле закомментировать.

UPD3: Слушайте, но в PCAD2006 работать же совершенно невозможно. графика есть конечно, но вот элементарная задачка решается только через какие-то таблицы/текстовики/чёртичто...

PS. И эа всю эту кривизну дерут десятки тысяч долларов. УУУууууужас.
hedgeov: (Default)
Обожаю вопросы "Ваше устройство не работает. Вот логи нашей системы сбора данных где видно, что ответа нет. Что могло случиться с устройством?"
Блин, а я откуда знаю? Если бы мне дали логи моего устройства — у меня еще был бы шанс это понять. А кучка записей с клиента "мы отправили запрос. таймаут истек. мы отправили запрос. таймаут истек" мне ну ни как не помогут разобраться. Но логов нет, а ответ услышать и исправление проблемы получить хотят прямщаз...
hedgeov: (Default)
Будучи в каком-то очень правильном состоянии, удалось открыть корпус моей ip-камеры D-Link DCS-930. Унутре у ней неонкачип iP2970, реализующий преобразование видеопотока от камеры и микрофона в MJPEG со звуком, флешка на 4 мегабайта, а также закрытые стальной крышечкой процессор RT3050F, SDRAM на 32 Мегабайта M12L2561616A-6T (ширина шины данных 16 бит) и антенный усилитель SE2597L.
На плате написано 8CS930M..3A1G
Также на плате разведен UART и что-то еще на 5 контактов+ экран.
Очень хочется научиться потрошить прошивку этого чуда и сделать 3 вещи:
1. Чтобы оно не зависало через сутки работы
2. Чтоб оно ТАК не тормозило при передаче видео
3. Чтобы оно научилось выдавать видео 640x480 fps30, а не 20 (ip2970 это умеет)

Опционально хочется понять, почему оно столь неторопливо отдает картинки, хотя 802.11n поддерживается.

Для справки: RT3050 это ядро MIPS на 320МГц и какое-то фантастическое количество периферии. На этом чипе делают Wifi-роутеры.

Для справки 2: чтобы открыть корпус устройства не повреждая гарантийной пленки надо сдавить с торцов по короткой стороне, потом по длинной - там защелки отщелкиваются и потом корпус на 2 половинки раскрывается.
hedgeov: (Default)
Набрел на такой вот код для подсчета CRC-16 CCITT без таблиц и циклов. Только сдвиги. (отсюда http://www.embeddedrelated.com/groups/msp430/show/29689.php)


void crc_ccitt_init(void)
{
crc = 0xffff;
}

void crc_ccitt_update(unsigned char x)
{
unsigned crc_new = (unsigned char)(crc >> 8) | (crc << 8);
crc_new ^= x;
crc_new ^= (unsigned char)(crc_new & 0xff) >> 4;
crc_new ^= crc_new << 12;
crc_new ^= (crc_new & 0xff) << 5;
crc = crc_new;
}

unsigned int crc_ccitt_crc(void)
{
return crc;
}
hedgeov: (Default)
Перетачиваю стандартную библиотеку Arduino для TCP/IP (Arduino Ethernet library), рассчитанную на чип W5100, под чип Wiznet W5300. Конечная цель моя: использовать Arduino API на устройстве Wiz200Web. И по ходу переточки создается впечатление, что косоватая у Arduino библиотека для работы по TCP/IP.

Библиотека состоит из 7 классов и чуть нестандартного Sockets API:
  • DHCP
  • DNS
  • EthernetUPD -- правильнее бы его было назвать а-ля IpUDP
  • EthernetServer -- правильнее его было бы назвать TCPServer
  • EthernetClient -- правильнее его было бы назвать TCPClient
  • EthernetClass -- типа абстрагирует железо
  • socket.cpp -- допиленый из стандартного драйвера Wiznet
  • W5100 -- зачем-то упихали функции стандартного драйвера Wiznet в методы класса

На мой взгляд кривоватость в:


  1. EthernetUPD, EthernetClient лезут напрямую в W5100 чтобы понять статус соединения и количество принятых байтов.

  2. Прямо в socket.cpp зачем-то добавлены функции startUDP, sendUPD, bufferData(что эта делает пока не вкурил)



Буду приводить в порядок следующим образом:
  1. определение статуса соединения и количество принятых байтов вынесу в методы EthernetClass, нефиг верхним что-то знать о применяемом чипсете

  2. попробую вынести работу с UDP из socket.cpp в какое-то отдельное место.



Что скажете?

hedgeov: (Default)
Друзья-железячники, не встречали ли вы на просторах Интернета библиотеку для работы с Wiznet W5300 для Arduino? Очень лениво портировать :)
hedgeov: (Default)
Решил подобрать мобильник взамен умирающему Samsung SGH E200. Удивительно, но что-то ничего путного не нахожу. Создается впечатление что все производители ударились в коммуникаторы. Мне многого не надо: аккумулятор дней на 5; органайзер с возможностью поменять мелодию при наступлении события; полноценная JavaME (с доступом к ФС и возможностью запускать сравнительно тяжелые приложения); bluetooth; проигрыватель MP3. Куда вообще копать?
hedgeov: (Default)
Вот попало не понятно что не понятно куда -- решил попробовать освоить freeRTOS для AVR. В качестве тестового задания попробую прикрутить к freeRTOS драйвера для Wiznet W5300 и запустить web-сервер на модуле Wiz200WEB. Посмотрим, хватит ли пороху.

...Будто мне заняться больше нечем...
hedgeov: (Default)
Кирилическая кодировка в ЖКИ несколько отличается от принятой в ПК. Соответственно если в программе я напишу что-нибудь типа
evb_set_lcd_text(0,(u_char*)"Нажмите");

на индикатор будет выведен всякий мусор. Правильно будет что-нибудь типа
evb_set_lcd_text(0,(u_char*)"    Ha\xB6\xBC\xB8\xBF\x65"); // Нажмите

Но очевидно это ужас-ужас. Таблица перекодировки в рантайме -- бестолковая непозволительная роскошь (речь-то о микроконтроллере). Хочется соорудить такой макрос, который бы преобразовывал строку из cp-1251 в кодировку дисплея на этапе компиляции. Что-то пока ничего изящного не придумывается. Есть идеи?
hedgeov: (Default)
Как средствами WinAVR рассчитать контрольную сумму прошивки и запихать её в эту самую прошивку. Статья на avrfreaks.
hedgeov: (Default)
А на этом шарике уже изобрели мобильное устройство, предназначенное для удобного чтения документов в формате pdf в условиях вагона метро? Желательно чтобы оно имело размеры экрана не меньше A5, работало не меньше 4 часов в автономе, весило не более 200 грамм и стоило меньше 500 баксов. Ы?
Дополню: предполагается чтение монохромных либо вовсе черно-белых книжек.
Сам отвечу: оказывается изобрели, имеет смысл рассматривать пяток производителей и с полтора десятка моделей. Для мобильного применения рекомендуют диагональ не более 7". Осталось понять какое из устройств лучше.

ГЛОНass

Dec. 9th, 2010 11:39 am
hedgeov: (Default)
Забавные штуки вокруг ГЛОНass иногда случаются. Вот тут вот народ взял одно из отечественных (?) навигационных устройств и заглянул ему внутрь. В статье приведены фотографии комплектации и самого устройства в собранном и разобранном виде. Оказалось, что микросборка, отвечающая за работу с ГЛОНАСС прилеплена скотчем.
Заместитель директора по производству фирмы-производителя выложил Официальный ответ на публикацию, где возмущается что "экспертиза" никем не подписана, винты крепления сломаны и вообще всё подозрительно целое, а статья заказная. При этом не выложено НИ ОДНОЙ фотографии устройства в том виде, как оно идет от производителя. В результате официальный ответ выглядит довольно бледно.
UPD: Производитель отреагировал и выложил фотографии нераспаянных плат.
hedgeov: (Default)
Задача обзавестись компактным проигрывателем музыки, способным играть музыку из единственного хранилища (по Wi-fi или на крайняк Ethernet) оказалась дорогостоящей и трудновыполнимой. Единственное доступное в Питере устройство — Philips NP2900 за фантастические 15400р. Logitech Squeezebox в любой комплектации в price.ru не значатся. Стоят, правда, тоже немеряно. Про телевизор с поддержкой UPnP/DLNA я уже и думать боюсь :(
hedgeov: (Default)
Что-то я заблудился в трех соснах: изобретаю тут велосипед простой протокол обмена с микроконтроллером. Загвоздка в надежном определении начала пакета. Понятно, что красиво использовать некий запрещенный символ. Как это сделать в битовом протоколе я понимаю, а что делать в байтовом: как заменить, скажем, последовательность 0xAA 0xAA на что-то иное так, чтобы на принимающей стороне это распознать и вернуть обратно?

NAS

Oct. 29th, 2010 03:42 pm
hedgeov: (Default)
А кто-нибудь встречал обзоры/сравнения производительности OpenNAS и готовых коробочных решений типа Synology DS-410, DS-411+ ?
hedgeov: (Default)
Совершенно случайно наткнулся на стандарт MISRA C на русском. Крайне рекомендую к прочтению занимающимся программирование ответственных приложений и не знающих английский.

Profile

hedgeov: (Default)
hedgeov

April 2016

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 23rd, 2017 11:24 pm
Powered by Dreamwidth Studios