Создание собственной системы стабилизации
SPI_MasterSSLow(&PORTE, pinMask);
SPI_MasterTransceiveByte(&spiMasterE, 0x40 | reg);
for (uint8_t i=0; i<6; i++) {
rawADC[i]=SPI_MasterTransceiveByte(&spiMasterE, 0xFF);
}
SPI_MasterSSHigh(&PORTE, pinMask);
здесь должно происходить :
прижал лапу
write_bute - забор-обед
счётчик шагов от забора до обеда
read_bute (все шаги)
отпустил лапу
блин… я ж это все привел.
uint8_t result = spi->module->DATA; // result - правильная переменная?
>SPI_MasterTransceiveByte(&spiMasterE, 0xFF);
Не бейте ногами, а зачем присваивать в начале 0xFF?
а зачем присваивать в начале 0xFF?
там вообщет можно все что угодно… главное 1-й байт говорит что будем читать далее и с инкрементом адреса, а что в следующих посылаеш - не учитывается
правильная переменная?
этот драйвер из апноута Атмел
SPI_MasterTransceiveByte(&spiMasterE, 0xFF);
в SPI чтобы что-то прочитать, надо туда заслать чё-нить…
этот драйвер из апноута Атмел
не я конечно в программировании не силён, но не останется ли переменная только в этой процедуре? т.е. доступ другим к ней будет?
не я конечно в программировании не силён, но не останется ли переменная только в этой процедуре? т.е. доступ другим к ней будет?
Останется, но перед выходом из процедуры, она присваивается резалту
return(result)
Поделитесь обработчиком под STM32 (аппаратным желательно) кодирования/декодирования сигнала ppmsum, а также обработчик приема обычных данных с приемника.
тут и входы и выходы…
Sir Alex и tusik, к вам будет просьба. Как только платы приедут - по возможности побыстрее сделать кино полёта…
Я пока не смогу этого сделать в полном объёме 😦 в моей плате проблемный баро и gps у меня глючит - блин сапожник без сапог 😦
В платах залита староватая версия 3.1… посмотрю точнее скажу - но я на ней летал (т.е. проверенная)
Конфигурация X моторы (нумерация) как в APM !
Для запуска Арду обязательна SD-карточка… у меня прекрасно живёт 2-х гиговая noname
Первый запуск - просто включить с карточкой
Далее на карточке создастся директория APM (там логи будут хранится)
Для запуска моторов в эту директорию надо положить пустой файл
AUXPWM.en регистр букв обязателен.
Вход радио пока работает один PPM, подписан 4-й
Я пока не смогу этого сделать в полном объёме в моей плате проблемный баро и gps у меня глючит - блин сапожник без сапог
Я ж тебе написал, пришли мне без баро, я выковыряю из своих запасов контроллеров.
Не, это не красиво будет - я купил новый себе, приедет переставлю…
теперь аксель калибруется с кнопки в планнере в терминал лезть ненадо, на старой плате калибровался только через терминал… на новых на всех просто с кнопки калибруется 😃
да ещё я не пробовал через терминал виртуальную еепром стирать…
если надо стереть в консоли NuttX
вынимаем SD (если с пищалкой запустить будет пиликать SOS)
подключаем к 1 усарту через ftdi (или через что есть) любой терминалкой (патти, геркулес…)
скорость 57600
набираем
mtd start
mtd erase
reboot
вставляем SD запускаемся калибруемся…
на новых на всех просто с кнопки калибруется
Я так понимаю(?), - выровнял на земле аппарат по строительному уровню - и нажал кнопку ?
неа калибровать все оси! ну это по инструкции арду всё…
калибровать можно просто плату без коптера…
подлетнуть если тянет куда - посадить сделать арм - но подержать стик подольше секунд 10, подлетнуть пока аппарат не перестанет куда-либо вести, сел, дизарм, save trim - щёлкнуть переключатель (7 канал радио)…
Паршифки заливаются планнером так что осторожно родная от PX4 зальётся, но работать не будет и перепрошить будет с планнера невозможно! в таком случае: в папке планнера есть PX4uploader - запустить выбрать паршивку и тыкать ресет пока лодырь (он жывой остаётся) не определится…
Мисье знает толк в извращениях)))))))
как отмакетировать небольшой BGA чип
не уж увольте, с проводками возитьсяс… лучша я быстренько лут накидаю 😃
прикол приколом, а мне с али вчера баро отправили и трек уже дали:)
фух платки загружены в коробочку завтра с утра поедуть, моя лежит на окне gps-ом следит за спутниками - дождь 7 спутников hdop 2.4 ещё ни разу на плохую жисть не пожаловалось, может у меня в старой плате был косяк?
как вычислить баровысоту без матфункции pow
Александр, подскажите,- ваш MS5611 давление показывает согласно даташиту (диапазон 1000 - 120000 милибар) ??
У меня чушь какая-то лезет в расчете… отрицательные значения показывает…, код пробовал и “чужой” и сам ковырял…
по идее 1 атм.=~1 бар, значит показания переменной давления должны быть ~ 100000, а у меня 32000 (на порядок меньше), правда (?) высоту после расчета показывает вроде нормально, но есть большие сомнения…
отрицательные значения показывает…, код пробовал и “чужой” и сам ковырял…
сразу в лоб - контакты луженые были как купили? - если да - в мусор 😦
Спустя несколько часов GPS сошео с ума - начал терять позицию 😦
У меня чушь какая-то лезет в расчете… отрицательные значения показывает…,
Олег, проверьте правильность сборки 24 битного слова, получаемого от барика.
Кстати мне тут посоветовали убрать цыклы считывания датчиков - заменить на тупое считывание каждого регистра - флеши займёт больше (ну тупо для мпу - 14 строчек ) но должно дать производительность - не надо время на запуск и проверку цыкла делать - флеши пока хватает - как?
проверьте правильность сборки 24 битного слова
Проблему кажется локализовал, но ничего не понял … Дело в самом выводе в терминал компа…
Ситуация такая (CooCox): (для проверки сделал следующий код)
int32_t data;
data=45653;
if(data<0)
{out_usart2(0x2D);
data=abs(data);
}
Так вот компиллер считает что 45653 - “меньше нуля” (???), потом ессно делает abs() и далее из “data” получается -19883 (??)
Причем все нормально до 32768, а далее уже ненормально… Мне всегда казалось что int32_t (stdint.h) хватает чтоб 45653 было положительным…