?

Log in

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

eddy_em


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


Entries by category: техника

[sticky post]Содержание
Костерок
eddy_em
Здесь - краткое содержание моего графоманстваCollapse )

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

Обновленная прошивка хронометра
Костерок
eddy_em
Понемногу допиливаю прошивку хронометра. Исправил некоторые косяки и добавил возможность сохранять логи прямо во флеш-память микроконтроллера! Интересно, что, несмотря на то, что на корпусе написано STM32F103C8T6, фактически у него 128кБ флеша! Сама прошивка занимает почти 15кБ, после нее 2 страницы флеш-памяти отводится на хранение настроек (их туда аж 50 штук влезает, так что, очищать эти 2кБ нужно будет достаточно редко), а уже за ними все свободное место отведено под хранение логов.
Убил довольно-таки приличное количество времени, чтобы разобраться с линкер-скриптом и разместить хранилища именно там, где я хочу! При дебаге даже пришлось несколько раз сливать с камня прошивку после записи параметров и логов, чтобы убедиться, что все находится на своих местах.
Единственное, что мне сейчас не нравится — разбор команд, который у меня реализован тупо в лоб (серией if-else if). Вот чувствую, что можно сделать элегантное решение на вложенных switch'ах, но если это писать вручную, замучаюсь при добавлении новой команды (и лопухнуться легко при удалении ненужной), т.е. нужно писать генератор кода. И это останавливает от прогресса!

Филологическое
Костерок
eddy_em
А вот есть ли среди читающих этот журнал филологи?
Зашел спор с одним человеком на одном форуме. Я говорю, что фразы-паразиты вроде "от слова совсем" — очень яркий индикатор неуча, косящего под интеллигента. А он с этим не согласен.
Каково ваше мнение?

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

Read more...Collapse )

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

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

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

Ай да китайцы, ай да шельмы!
Костерок
eddy_em
На этих выходных соревнования по даунхиллу, нужно сделать очередную версию хронометра. Понятно, что еще конь не валялся, так что я усиленно начал писать код. И вот, взял из дома вот такую "синюю таблетку":

и пытался прошить ее.
А фиг вам!
По умолчанию прошита мигалка светодиодом. ОК. Жму кнопку "reset", удерживая кнопку "boot". А светодиод так и моргает! Любые манипуляции с джамперами boot0 и boot1 ни к чему не приводят: все равно после перезагрузки МК грузится из флеша!
ОК, подключаю st-link. И тоже в лужу:
make flash
  FLASH  chrono.bin
/usr/local/bin/st-flash write chrono.bin 0x8000000
st-flash 1.4.0-36-g0af68c0
2019-06-25T15:04:21 INFO common.c: Loading device parameters....
2019-06-25T15:04:21 INFO common.c: Device connected is: F1 Medium-density device, id 0x20036410
2019-06-25T15:04:21 INFO common.c: SRAM size: 0x5000 bytes (20 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 1024 bytes
2019-06-25T15:04:21 INFO common.c: Attempting to write 6820 (0x1aa4) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08001800 erased
2019-06-25T15:04:21 INFO common.c: Finished erasing 7 pages of 1024 (0x400) bytes
2019-06-25T15:04:21 INFO common.c: Starting Flash write for VL/F0/F3/F1_XL core id
2019-06-25T15:04:21 ERROR flash_loader.c: unknown coreid, not sure what flash loader to use, aborting! coreid: 2ba01477, chipid: 410
2019-06-25T15:04:21 WARN flash_loader.c: Failed to write flash loader to sram!
2019-06-25T15:04:21 ERROR common.c: stlink_flash_loader_init() == -1
stlink_fwrite_flash() == -1
make: *** [Makefile:130: flash] Ошибка 255

Т.е. девайс обнаруживается, по параметрам как бы похож на STM32F103, но ни хрена не пишется! И, судя по тому, что светодиод все равно радостно продолжает мигать, флеш не стирается!!!
Ну, думаю, надо глянуть, что за чип - наверняка перемаркированная какая-нибудь хрень. А там... CS32F103!!! Очередной китайский клон STM32 (не знаю, на кой черт им это говно клонировать понадобилось — уж клонировали бы F303), который к тому же лишен возможности полноценной прошивки.

Сволочи! Благо, недавно пяток чипов прикупил - можно перепаять. Да, в принципе, у меня и так дома штуки три еще девборды лежат: одна "пилюля" (надеюсь, хоть она не на CS32) и пара на камнях пожирней. Для экспериментов база есть, а к соревнованиям можно сколхозить фоторезистом плату и спаять детальки (все равно GPS-модуль для пайки на плату и ему дополнительная обвязка не помешает).

Спектр на ... фотометре!
Костерок
eddy_em
Завтра будем вешать MMPP на Z-1000 для определения его эффективности в разных полосах при помощи призмы Амичи (правда, в сходящемся пучке). Пока что грубо исследуем в лаборатории.
Спектр белого светодиода, на матрице синий конец внизу.

ДальшеCollapse )

И вновь продолжается... метрология!
Костерок
eddy_em
Работы по зеркалу как-то уж очень форсировали. Неожиданно оказалось, что завтра мне нужно ехать и отрывать старые датчики от зеркала №1 (и отрывать аккуратно, т.к. их нужно будет использовать на зеркале №2). Возможно, уже в понедельник будет произведена "рокировка" зеркал.
Я тем временем решил-таки сравнить показания тех термодатчиков, что у меня оставались, чтобы хотя бы по одной точке привести их к единой шкале.
КартинкиCollapse )

Мини-ремонт
Костерок
eddy_em
Празднички что-то подзатянулись. И решили мы купленные еще в январе обои наклеить на ободранную кошаками стенку. Еще одной проблемой было то, что современные обои — какой-то прозрачный мрак! А уж тот флизелин, что мы брали в зал, вообще кошмарен! И вот самую видную стенку было решено оклеить виниловыми обоями.
Изначальный вид стены после снятия обоев.

Еще фотографииCollapse )

Бульбулятор
Костерок
eddy_em
Намедни сделал вот такую травилку для печатных плат:

сегодня проверил ее на одной плате.
Еще 4 фотографииCollapse )
Определенно, нужен какой-нибудь надежный способ производства прототипов и "плат на один раз". ЛУТ — вообще не вариант (замучишься двухсторонние делать, да и с мелочевкой совсем беда), фоторезист что-то очень быстро сдыхает и перестает липнуть без извращений вроде тех, которыми я баловался. Мне представляется наиболее надежным использовать один из двух вариантов: либо выжигать лазером краску (метод хорош тем, что потом можно травить в азотной кислоте, а не чертовом хлорном железе, в котором по часу плату держать надо), либо фрезеровать (но народ плюется на этот способ, т.к. 0.2/0.2 получить почти нереально, да и текстолит нужен идеально ровный, иначе ничего не получится).