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

Razek
SergDoc:

Я на пробу нижнюю плату на

А у них же вроде 100 штук минимум заказ?

oleg70

Во первых всем спасибо за ссылки и поддержку.!
Смотрю примеры кода в инете в основном на F10x, вижу например следующую строку заполнения структуры:
RCC->APB2ENR|=RCC_APB2ENR_IOPCEN;
начинаю искать в хедерах на F303 сие “RCC_APB2ENR_IOPCEN” – НЕТУ !
Это чеж, на каждую линейку Cortex свою отдельную библиотеку изучать надо?
Где ж тогда “переносимость” кода и прочие удобства от CMSIS ?
Знатоки объясните…

DVE

Ну нафиг всю эту прямую работу с регистрами.

Пишется что-то типа

GPIO_SetBits(GPIOA,GPIO_Pin_2|GPIO_Pin_3);

И просто, и красиво, и переносимо.

rual
oleg70:

Смотрю примеры кода в инете в основном на F10x, вижу например следующую строку заполнения структуры: RCC->APB2ENR|=RCC_APB2ENR_IOPCEN; начинаю искать в хедерах на F303 сие “RCC_APB2ENR_IOPCEN” – НЕТУ ! Это чеж, на каждую линейку Cortex свою отдельную библиотеку изучать надо?

Для начала предлагаю пользоваться библиотеками, да и последующих проектах не вижу смысла от них отказываться. Перифирия у каждого семейства имеет особенности, Ф3 особо отличается от предшествинников - у него структура шин другая. Перифирию и библиотеки придётся изучать снова, благо там отличия не большие, но код нужно переписывать. Демо-проекты Вам в помощь.

oleg70:

Где ж тогда “переносимость” кода и прочие удобства от CMSIS ?

Это совместимость на уровне ядра, к перифириии отношения не имеет.

oleg70

Вас понял, спасибо…
Вообще конечно (мое мнение) создатели библиотек хотели показать как они классно владеют Си (а они так и владеют:)) , буквально на все “изжоги” пошли, а меня такая структуризация пока только с толку сбивает где? что?..
Да и сам проект по количеству подключаемых файлов становится не маленький.

rual
oleg70:

такая структуризация пока только с толку сбивает где? что?..

А должна помогать 😃 Каждый файл библиотеки относиться к определённому устройству.

oleg70:

Да и сам проект по количеству подключаемых файлов становится не маленький.

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

SergDoc

Вернусь к нашим баранам: мелкоплате и ЛСМ, почему сейчас в вие не читают регистр статуса, раньше вроде было, может мне его читать и на основе данных решать переписывать значения по осям или нет?
ну вот что-нибудь такое?

static void LSM330ACCRead(int16_t *accelData)
{
    uint8_t buf[7];
    uint8_t status;

    i2cRead(LSM330ACC_ADDRESS, LSM330_STATUS_REG +0x80, 7, buf);
    status= buf[0]
if status>0 {
    accelData[0] = ((buf[2] << 8) | buf[1]);
    accelData[1] = ((buf[4] << 8) | buf[3]);
    accelData[2] = ((buf[6] << 8) | buf[5]);
    }

}

не, думаю лучше задействовать fifo и лапу прерывания…

DVE
oleg70:

меня такая структуризация пока только с толку сбивает где? что?..

Чем и хорош Coocox - выбираем в визарде нужные компоненты (например timer или gpio), он сам скопирует в проект требуемые файлы.

rual

Запрос по и2ц готовности выглядит некрасиво, т.к. тратит время шины, а вот обработка по готовности это правильное направление мысли. Можно задействовать вывод готовности акселя и опрашивать его программно, это много времени не займет. Либо считывание и расчет положения по акселю в прерывании, у меня так…

SergDoc:

не, думаю лучше задействовать fifo

Насчёт фифы не уверен, ибо отложенная обработка старых значений акселя не будет соответствовать актуальному положению как физическому, так вычисленному по ДУСам.

SergDoc

Просто плюнуть и оставить недоделанной плату как-то нехорошо, хотя давно не тестировал в полёте, только на столе, может уже и можно летать с акселем, показания вроде неплохие…

По большой

03/02/2013 In production D73414_Multirotor is coming back from production workshop.

😃

SergDoc

Прикольно goodluckbuy.com/mpu6050-6000-module-3-axis-gyro-ac…

сегодня провоевал с IDE vrobotix так и родной скетч мультиплота не скомпилировал 😦
vgt6 так и не привезли, ну и ладно vet6 есть, на первое время хватит…

SergDoc

Замучился я с eclipse как-нибудь можно перенести проект под coocox?

DVE

Как правильно не знаю, обычно самое простое - это создать новый проект, дальше перенести файлы копипастом. Это куда легче чем поштучно настройки переносить…

RaJa
SergDoc:

Замучился я с eclipse как-нибудь можно перенести проект под coocox?

Из эклипс можно, вряд ли там особо сложные настройки, я даже из IAR переносил код в проект на CooCox - под эклипс наверняка тот же компилер используется, значит инструкций специфичных для KEIL или IAR не будет.

SergDoc

Вроде разобрался с Эклипс, по крайней мере проект Acopter32 под F4 собрался 😃
теперь буду подсовывать ACopter32 rev 2.9.1rc1, ну а ежели всё нормально пойдёт, то адаптировать под свю плату, главно чтобы влезло в 256к флеши, т.к. проект под vgt6 а не под vet6 как пишут…

Уряя заработало!!! rev 2.9.1rc1 скомпилировалась!!!

402888 5849 6350 415087 6556f (TOTALS)

Final Size:
text data bss dec hex filename
350408 7296 9312 367016 599a8 build/laserlab_MP32V1F4.elf

**** Build Finished ****

правда почему-то пришлось собирать IDE из двух одну, ну а потом патчи переписывать, ну да ладно буду усиленно изучать что получилось, а то ведь не ровен час платки приедут 😃

правда проц всёже менять надо 😦

oleg70

Друзья! подскажите мне на пальцах: что из файлов (*.h и *.c) мне нужно иметь для проекта (не важно Coocox или Iar) чтобы просто настроить мой F303 без периферии а только скажем тактовый генератор, и скомпилить…
Перечитал кучу примеров и обзоров, ну ни как не пойму - одни подключают “всю кучу из CMSIS и SPL” , другие как то вообще одним Includ-ом F10x.h обходятся… Т.о. даже начать не могу…
Фирменные файлы на линейку есть, внутри - темный лес, сплошная “рыба”, один хедер инклюдит другой, запутался я …
Не откажите в ликбезе! просто минимальный набор!
(как же было просто с avr один хедер на чип)

rual

Олег, может на кейл перейдете и возьмете мой проект с этой ветки. странцу не скажу, где то сразу после нового года.

DVE

Выложите проект под Coocox (и файлы заодно под 303й), будет ясно что не компиляется. Навыком телепатии здесь никто не обладает 😃