Комментарии 24
А Вы один написали 38334 строк кода?
Нет конечно. Примерно половина или чуть больше кода перекочевала из других проектов.
Уже теплее :) сколько программистов работало над проектом? Дело в том, что из той информации которая есть в заметке, можно сделать следующий вывод: один программист написал за год 38334 строк кода, попутно реализовав при этом 60870-5-101 и ModbusRTU. При этом его постоянно дёргали на другие проекты, да и ТЗ постоянно менялось… Так сколько времени в итоге было потрачено на проект?
ШИМ 7 сегментной индикации
Тут искал ШИМ и не нашел. Может быть имеется ввиду динамическая индикация?
А какое целевое назначение/область применения вашего модуля? И если есть аналоги от других разработчиков, то чем они хуже/лучше вашего решения?
Так же смущает, фраза
если не разобрались с причиной, то это симптоматическое лечение железа, может привести к тому что раньше вы видели ошибку часто, а после изменения приоритета она стала реже, но этого будет достаточно для мега-бум раз в год.
Мы же все тут инженеры, нам не так интересно как зовут того, кто помог найти проблему со смещением АЦП, интересно почему смещение плавало. Из листинга я не смог понять.
И с невыровненными данными — опять симтоматика. Причину то нашли? От способа сборки работоспособность не должна меняться.
Так же смущает, фраза
Проблема пропала после увеличения приоритета прерываний qspi.
если не разобрались с причиной, то это симптоматическое лечение железа, может привести к тому что раньше вы видели ошибку часто, а после изменения приоритета она стала реже, но этого будет достаточно для мега-бум раз в год.
Мы же все тут инженеры, нам не так интересно как зовут того, кто помог найти проблему со смещением АЦП, интересно почему смещение плавало. Из листинга я не смог понять.
И с невыровненными данными — опять симтоматика. Причину то нашли? От способа сборки работоспособность не должна меняться.
хуже/лучше
Сравнивать продукт не буду, это к маркетологам:) Моя цель была осветить техническую часть.
проблему со смещением АЦП
До этого код был таким и АЦП калибровался по разному
HAL_ADCEx_Calibration_Start(&hadc1, ADC_CALIB_OFFSET, ADC_SINGLE_ENDED);
HAL_ADCEx_Calibration_Start(&hadc1, ADC_CALIB_OFFSET_LINEARITY, ADC_SINGLE_ENDED);
Это не шутка? Мне кажется, любой начинающий программист микроконтроллеров, сразу после освоения мигания светодиодом, начинает выдумывать что то типа вашего ИРИСа. Причем делает это на Atmega.
А что, atmega круче чем stm?
любой начинающий программист микроконтроллеров…
Вам не жалко начинающего программиста МК? Все таки электросеть, три фазы есть такой нехилый риск получить 380 В.
Я возможно утрирую. Просто удивлен, что для этого проекта задействована целая команда разработчиков.
Ну там осциллограф с записью и отображалкой — это что называется верхушка айсберга.
в принципе командная работа это нормально: железячник, програмист железа, програмист приложения. вот когда все это делает один человек, результат вызывает сомнения, ведь невозможно быть хорошим специалистов во всех областях.
опять же делать показометр на коленке для себя и на продажу это разные уровни ответственности.
опять же делать показометр на коленке для себя и на продажу это разные уровни ответственности.
посмотрел на вашэм сайте характеристики,
почему нигде не указано что прибор сертифицирован как средство измерения?
выходит обычный показометр, как ютутберы на коленках собирают.
почему нигде не указано что прибор сертифицирован как средство измерения?
выходит обычный показометр, как ютутберы на коленках собирают.
Постараюсь объяснить свою оценку 5 (по Вашей шкале).
1. 38к строк кода на измерение двух параметров, показ на индикаторе и логгирование?
2. Отказ от ОС по основаниям «не хватает памяти» и все равно «память закончилась».
3. Про QSPI Вам уже сказали.
4. Калибровка на то и калибровка, чтобы проводить ее при включении, а потом еще и периодически в процессе работы, а не запоминать.
5. Засветка индикации при переключении — это из ошибок «первого проекта».
6. Преобразование из байтов в целые (длинные, плавающие) при помощи функции переупаковки должно быть на уровне инстинкта, тогда не придется бороться с последствиями.
7. С UART вообще не понял, в том HAL, что я вижу, все с флагами хорошо, если бросите ссылку, откуда его брали, можно проверить.
8. Вообще то для определения точки возникновения исключения существует стек вызовов.
1. 38к строк кода на измерение двух параметров, показ на индикаторе и логгирование?
2. Отказ от ОС по основаниям «не хватает памяти» и все равно «память закончилась».
3. Про QSPI Вам уже сказали.
4. Калибровка на то и калибровка, чтобы проводить ее при включении, а потом еще и периодически в процессе работы, а не запоминать.
5. Засветка индикации при переключении — это из ошибок «первого проекта».
6. Преобразование из байтов в целые (длинные, плавающие) при помощи функции переупаковки должно быть на уровне инстинкта, тогда не придется бороться с последствиями.
7. С UART вообще не понял, в том HAL, что я вижу, все с флагами хорошо, если бросите ссылку, откуда его брали, можно проверить.
8. Вообще то для определения точки возникновения исключения существует стек вызовов.
101 и ModbusRTU сами писали?
Аналогичная утилита есть и для GIT’a: GitWCRev. /version.fmt ./main/version.h
define GIT_REV ($WCLOGCOUNT$)
Это позволяет однозначно сопоставлять коммит и версию ПО.
Эх, а я велосипедный шелл-скрипт городил :) Впрочем, он получился довольно коротким.
А я точно такое же разрабатывал лет 15 назад) думал, рынок давно уже насыщен подобными прииборами, а оказывается, нет.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Разработка измерительного прибора ИРИС