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

SergDoc

Я на пробу нижнюю плату на www.seeedstudio.com заказал, посмотрим… если всё хорошо то будут лишние платы V1.2…
и на лучи хватило, верхнюю плату следующим заходом закажу…

soliada

О,спасибо за ссылку.Попробую и у них заказать.Тут даже вроде как и форма заказа более понятная.

SergDoc

только один ордер-одна плата (10 шт но одной)

SergDoc

Вроде всё нормально

02/27/2013 PCB Confirmed This order has PCB item(s)
02/27/2013 PCB Processing PCB File: D73414_Multirotor.zip is now waiting for file examination.
02/27/2013 PCB Processing PCB File: D73414_Multirotor.zip passed file examination.

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 не будет.