?

Log in

No account? Create an account
Костерок

eddy_em


Емельянов Эдуард Владимирович


Из говна и палок...
Костерок
eddy_em

promo eddy_em august 17, 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:

НĒХ
Костерок
eddy_em

Очередная версия хронометра
Костерок
eddy_em
Хронометр для даунхилла продолжает развитие. Я упростил функцию коррекции периода таймера SysTick, отсчитывающего миллисекунды, и наконец-таки измерил, насколько врут системные часы (от китайского кварца на 8МГц), и насколько точно два разных устройства отсчитывают одновременные события.
Положил две железяки на подоконник, минут через 15 они начали давать PPS

По отладке через UART оказалось, что нужно писать в регистр SysTick->LOAD величину 72007, а не 71999, чтобы промежутки между прерываниями с более-менее высокой точностью (1/72000) следовали каждую миллисекунду. Соединил выход на кнопку обоих устройств и пощелкал проводом по нулю. Показания с обоих устройств совершенно одинаковы!
Превосходно!
Tags:

Как нонче официально "прошивку" принято обзывать?
Костерок
eddy_em
Что-то голову ломаю: в неофициальной технической документации я просто пишу "исходники прошивки МК смотри в репе на гитхабе", а что написать в официальной? Если писать "исходные коды микрокода МК", получается какая-то тавтология...
Кто что пишет в таких случаях?

Все-таки, самопал — он и в Африке самопал!
Костерок
eddy_em
Как красиво смотрятся "заводские" платы, даже сделанные в режиме "прототипирование" (с полупрозрачной халявной паяльной маской и без электротеста):

Read more...Collapse )

Еще одна одноразовая железка
Костерок
eddy_em
В прошлом году я временно замерял температуру зеркала при помощи неказистой вундервафли, размещенной на беспаечной макетке. В этом году решил сделать нормальную плату:

Read more...Collapse )

Пускайте уже туда газ!!!
Костерок
eddy_em
Таких идиотов уже не вылечить!

Как правильно изменять состояние DTR/RTS?
Костерок
eddy_em
Пробую, как написано здесь, сделать так:
int RTS_flag = TIOCM_RTS; // TIOCM_DTR
if(ioctl(comfd,TIOCMBIC,&RTS_flag) < 0) exit(-2);//Clear RTS pin

Не получается: ioctl возвращает ошибку -1.
Видимо, эти ioctl'ы старые. У меня ядро 5.0.4. Как в нем принято это делать? Работаю с эмулятором PL2303 на STM32F103.
// пока это мне особо не нужно, но на будущее таки хочется знать...

UPD: оказалось, косяк в моей прошивке. Надо будет проверять, почему возникает ошибка
pl2303 ttyUSB0: pl2303_set_control_lines - failed: -71

Как обычно, тег "рукожопие" прямо в точку!

→ мск
Костерок
eddy_em
Через час выезжаю в Минводы. По пути будет шанс посмотреть последние фазы частичного затмения Луны. Пока что она у нас из-за гор не вылезла, хотя небо на удивление ясное!
Обитать буду в ЦКБ РАН, как минимум неделю.

Косяк с эмуляцией PL2303
Костерок
eddy_em
Я уже писал, что изредка у меня возникают такие ошибки:
pl2303 ttyUSB0: pl2303_set_line_request - failed: -32

Но на работу они не влияют, и я не обращал внимания, пока не попробовал железку приконнектить к игровой приставке. Не получилось: прошивка считает ее "нераспознанным устройством" и работать с ней отказывается. А вечером я попробовал приконнектить хронометр к смартфону. Попробовал несколько терминальных клиентов — все сообщают, что устройство не опознано (но при этом к китайскому PL2303 нормально подключаются).
Шайтан, однако! Я уже час сижу в логи wireshark гляжу. И не вижу никакой разницы между моей железкой и китайской PL2303! Но при этом в dmesg от китайской ошибок нет, а от моей есть! Возможно, что-то не то с таймингами. Надо еще покорпеть...

UPD, все починил. Как это часто бывает, "методом Монте-Карло"... Обновленный код лежит на гитхабе. На игровых приставках не проверял, но андроид не ругается.