Создание собственной системы стабилизации

oleg70
SergDoc:

дабы простыню не выкладывать

Не работает…
Вопрос снят, всем спасибо (фиг с ним с этим Keil-ом, у меня лимит в 32-Кб все равно уже заканчивается, буду какой нибуть CooCox мучить…)

Drinker
oleg70:

буду какой нибуть CooCox

Велком ту волшебный мир кокоса!

SergDoc
oleg70:

Не работает…

работает - на 103м и 407 точно 😃 и под кеил и под gcc…

oleg70
SergDoc:

работает - на 103м и 407 точно

Спорить не буду, но если интересно, можете посмотреть какие данные выдает датчик температуры MS5611 (в реале при нагреве и охлаждении), не знаю что за глюк, но у меня при <17,4 градуса сразу 22,… (явно в расчете переполнение на 256 ед.),
а так то да, все работает… циферки бегут… и высоту даже можно посчитать… 😃

rual
oleg70:

Вопрос снят, всем спасибо (фиг с ним с этим Keil-ом, у меня лимит в 32-Кб все равно уже заканчивается, буду какой нибуть CooCox мучить…)

Эт не правильно! Кейл отличный компиллер, а вот gcc никаких стандартов не соблюдает, можно в чистом Ц файле объявить переменную внутри кода и тд и тп
По поводу вашей переменной со знаком, компиллер вас предупреждает, что беззнаковая переменная участвует в действиях со знаковыми числами и будет преобразована, у ГЦЦ тут было бы всё шоколадно, но при вычислениях могли половить нереальный глюк. Чтоб предупреждения не выдавалось надо в коде выполнить явное преобразование типа (int32_t)peremennaya.

oleg70:

но у меня при <17,4 градуса сразу 22,… (явно в расчете переполнение на 256 ед.),

это как раз тот глюк о котором выше написано, результат сдвига uint8_t на 8 и более разрядов теряет всю значимую часть, за типами надо следить.

mahowik
oleg70:

буду какой нибуть CooCox мучить…

rual:

Кейл отличный компиллер

Саша, может оно и так. У них компиллер вообще свой?
Но в плане удобности IDE как бы сказать, не в ногу со временем…
Поставил вот сегодня CoIDE-1.7.5 + свежий 4.8 arm-none-eabi тулчейн. Создал новый проект под STM32F407VG, выбрал периферийные модули, закинул сорсы нужные. Готово! Единственное с чем про$%ся это с настройкой клоков, т.к. на дискавери 8мгц, а прописано в системных файлах 25мгц вроде… Кейл тут силен конечно, не знаю каким макаром, но вне зависимости от настроек проекта, чип всегда стартовал на положенных 168мгц…

А вот далее вкусности CoIDE, чего явно Кейлу не хватает на первый взляд:

  • скорость навигации. Кейл мягко говоря тупит на переходах + сами переходы только через контекстное меню, морока… а CoIDE через Ctrl+click прыгает куда надо без пауз…
  • code completion - сила! Вмиг на старте сканит проект и дает подсказки по всем свойствам классов, переменным и дефайнам по ctrl+space…
  • сканит и подсвечивает блоки неактивных дефайн секций
  • организация и менеджмент окон

Был бы он под линукс, ценыБ ему не было 😃

oleg70
mahowik:

не знаю каким макаром

Он (CooCox) генерит свой system_stm32xx,… если сразу поправить, то все работает… (вчера за час “переехал” на него с Keila), да, и в stm32f4xx.h надо не забыть HSE_VALUE исправить…
Порадовала оптимизация GCC, если “переборщить”, то виснет все - к энтой бабушке… 😃

SergDoc
mahowik:

Кейл тут силен конечно, не знаю каким макаром, но вне зависимости от настроек проекта, чип всегда стартовал на положенных 168мгц…

Кеил не при делах, system_stm32f4xx.c рулит 😃

* 5. This file configures the system clock as follows:
  *=============================================================================
  *=============================================================================
  *        Supported STM32F4xx device revision    | Rev A
  *-----------------------------------------------------------------------------
  *        System Clock source                    | PLL (HSE)
  *-----------------------------------------------------------------------------
  *        SYSCLK(Hz)                             | 168000000
  *-----------------------------------------------------------------------------
  *        HCLK(Hz)                               | 168000000
  *-----------------------------------------------------------------------------
  *        AHB Prescaler                          | 1
  *-----------------------------------------------------------------------------
  *        APB1 Prescaler                         | 4
  *-----------------------------------------------------------------------------
  *        APB2 Prescaler                         | 2
  *-----------------------------------------------------------------------------
  *        HSE Frequency(Hz)                      | 8000000
  *-----------------------------------------------------------------------------
  *        PLL_M                                  | 8
  *-----------------------------------------------------------------------------
  *        PLL_N                                  | 336
  *-----------------------------------------------------------------------------
  *        PLL_P                                  | 2
  *-----------------------------------------------------------------------------
  *        PLL_Q                                  | 7
  *-----------------------------------------------------------------------------
  *        PLLI2S_N                               | NA
  *-----------------------------------------------------------------------------
  *        PLLI2S_R                               | NA
  *-----------------------------------------------------------------------------
  *        I2S input clock                        | NA
  *-----------------------------------------------------------------------------
  *        VDD(V)                                 | 3.3
  *-----------------------------------------------------------------------------
  *        Main regulator output voltage          | Scale1 mode
  *-----------------------------------------------------------------------------
  *        Flash Latency(WS)                      | 5
  *-----------------------------------------------------------------------------
  *        Prefetch Buffer                        | OFF
  *-----------------------------------------------------------------------------
  *        Instruction cache                      | ON
  *-----------------------------------------------------------------------------
  *        Data cache                             | ON
  *-----------------------------------------------------------------------------
  *        Require 48MHz for USB OTG FS,          | Disabled
  *        SDIO and RNG clock                     |
  *-----------------------------------------------------------------------------
  *=============================================================================
rual
mahowik:

Саша, может оно и так.

Мне тут важно было: поставил - заработало. Прошивка и отладка - всё работает сразу, без настройки.
насчёт ИДЫ всё верно, никакого особо сервиса… Но вот компиллер мне нравится, хороший код делает. Ну а самое главное для меня кириллические символы в коде, у меня вся внутренняя часть АП и ИНС написана кириллицей, так мне удобней и наглядней, а ГЦЦ кириллицу не понимает…
Линукс пока не актуален, хотя когда от МС останется только Вынь8 и её потомки, придется текать на линукс.

SergDoc

Попробовал Лоитер, тут же у себя во дворе, Ардушники выручайте: в лоитере не держит высоту! В альтхолде держит в лойтере нивкакую - пытается сесть всё время, правда периодически пиликает GPS-Lock может просто тут у меня спутники теряет? подальше уходить куда-то одному не хочется да ещё и без наземки 😦 - хоть ты иди батарейку к ноуту ищи поскорей…

странно 6 спутников всего 😦

mahowik
oleg70:

Он (CooCox) генерит свой system_stm32xx,… если сразу поправить, то все работает… (вчера за час “переехал” на него с Keila), да, и в stm32f4xx.h надо не забыть HSE_VALUE исправить…

SergDoc:

Кеил не при делах, system_stm32f4xx.c рулит

вчера ужо разобался, но пришлось так сказать “погуглить”… если б проц просто не запускался, то все было бы проще, а то блин юарт работает и половина датчиков запускается, через раз при том… 😃

oleg70:

Порадовала оптимизация GCC, если “переборщить”, то виснет все - к энтой бабушке…

ну Кейл кодярник поменьше в полтора раза на выходе выдает при том же уровне оптимизации…

rual:

Мне тут важно было: поставил - заработало. Прошивка и отладка - всё работает сразу, без настройки.

во, CoIDE и это умеет из кароПки, тулчейн только скачать и распаковать.

rual:

так мне удобней и наглядней, а ГЦЦ кириллицу не понимает…

почти уверен, если кодировку в utf-8 перевести/переконвертить, то проблем не будет…

upd: открыл твой проект, который когда то настраивал под coocox, все читается, но да, файлы в utf-8 ранее были переведены…

rual:

Линукс пока не актуален, хотя когда от МС останется только Вынь8 и её потомки, придется текать на линукс.

У меня раз в пол года - в год, приступы перейти на линуХ полностью и вот кажется почти созрел.
Да и потом, сейчас почти все встроенные системы на линуксах. Смарт телики, кофеварки и холодильники скоро подтянутся, хотя и без шуток ужо есть образцы 😃
как раз в тему habrahabr.ru/post/207732/ 😃

Alexey_1811
mahowik:

почти уверен, если кодировку в utf-8 перевести/переконвертить, то проблем не будет…

В utf-8 кириллица нормально отображается.

oleg70

Добил таки MS5611, …
Судя по показаниям, +/- 1метр он способен ловить ?? А то пишут чуть ли не 10 см… (у меня там уже шумы идут)…

SergDoc
oleg70:

Судя по показаниям, +/- 1метр он способен ловить ?? А то пишут чуть ли не 10 см… (у меня там уже шумы идут)…

закрывать паралоном от внешней среды и света - обязательно, так же желательно это всё в коробке!!! в квартире может быть такой разброс ибо давления в помещении могут резко менятся…

oleg70
SergDoc:

от внешней среды и света - обязательно

От дневного света ?? или искуственного ?
, кстати, несмотря на термостабилизацию, я б все таки накинул еще +/- 1м, причем “расколбас” от температуры наблюдается в районе 25-26 градусов (?), выше - вроде постабильней…

SergDoc

да от любого, у меня зажат паралон между двух плат и всё это в “мозгокоробке” работает -ну может 10 см и есть разброс…
экспериментировал - просто двигаещь по столу в луч света - 7 метров як трусы з плоту…

oleg70

Всех с наступающим НОВЫМ ГОДОМ ! Удачи в хоббийных делах , личной жизни и денег побольше …

SergDoc

С Новым Годом!!! у кого наступил, у кого ещё наступит 😃
Подборка за этот год по F4BY c позволения Александра всё что есть 😃

Ну уж остальное в следующем 😉 !!!

не успел оттестировать авторежимы в этом году, ничего будут на новой плате 😃

SergDoc

У меня терзания, либо разобрать старую и собрать новую плату - минимальный функционал будет - можно тестить, или на старую портануть 3.1 - и тоже можно тестить - тяжкие муки 😃

SergDoc

Целый день сегодня убил на 3.1 вылавливая багоглюки - компилится, но не запускается, даже наттикс вешается! Короче убил всё и начал всё заново…
Обнаружил замечательную программулю Meld, для сравнения файлов, не знаю есть такая под виндой или нет, сравнивает файлы и помогает таким ленивым как я 😃 даже копипаст ненужен, достаточно на стрелочку нажать и, о чудо - кусок кодятника интегрирован 😃

Пока писал, новая прошивка уже скомпилилась 😃 , но сегодня прошивать уже не буду - нервные клетки не восстанавливаются 😃

Ах да, в арду добавился 4 порт (usart) - по умолчанию отправлен в нулл…

вот чесное слово, никак не пойму - откуда столько вопросов по компасу? в вие хеадфри пользовал - всё адекватно, в арду компасмот не делал - ибо как то на трёхе без помошников и табуретки тяжелой на улице ну не представляю - loiter работает правильно, уточню правда у меня на трёхе между мосхом и силовыми проводами приёмник, провода крест накрест, т.к. до места пайки идут две параллельные дорожки на нижней пластине (оно самодельное) - буду дальше тестить может увижу?

SergDoc

Похоже косяк не мой 😦
вот как запуск rc-5 происходит:

[init] looking for microSD...
[init] card mounted at /fs/microsd
sercon: Registering CDC/ACM serial driver
sercon: Successfully registered the CDC/ACM serial driver
[init] USB interface connected
Running rc.APM
Mounting binfs
binfs mounted OK

а в 3.1 дохлдит до sercon: Registering CDC/ACM serial driver
sercon: и висяк, без sd-шки сообщает USB interface connected и тоже висяк даже консоль наттикса не работает 😦
пока успокоюсь буду rc-5 настраивать заново - блин не додумался сразу всю паршивку слить - потом бы залил обратно…