MultiWii

qdfly

Помогите с армингом, не армится и все

Вот состояние, когда тротл внизу, все остальные стики в центре:

Вот что происходит при попытке заармить, yaw изменяется

В гуи вообще как-то отображается статус арм/дисарм? И как можно глянуть лог ошибок?

Не армится, даже если я назначаю арм на отдельный канал

ВлАс

Вот и у меня возник вопрос, 1945 по “яв” это вправо или влево?
А по остальным (питч/ролл)?

qdfly:

Помогите с армингом, не армится и все

Включен “горизонт”, еще не запомнил, он в этом режиме должен армится?

qdfly

Не армится не вправо, не влево. Даже если включить энгл мод, или вообще ничего не включить из режимов, не армится тоже.

mataor

в дневник ко мне.
1102 по газу и 1945 по яву - это недостаточно для стандартных настроек.

qdfly

В конфиге у меня так:

// KISS ESC 125uS Oneshot mode
// This works for 4 motors on Promicro
#define ONESHOT

#if defined(ONESHOT)
#define MINTHROTTLE 1100
#else
#define MINTHROTTLE 1065
#endif

#define MINCOMMAND 1000

Вроде должно попадать в диапазон?

qdfly

Так, с армингом вроде разобрался. Но моторы все равно не стартуют.

qdfly

Ага, калибровка помогла. И если ваншот включен в скетче, он должен быть включен и джампером.

bond62

Добрый день! Кто нибудь подключал Buzzer к Crius AIOP V2 версия ПО 2.3
подключаю к пин32осциллограф ( раскоментирую #define BUZZER, #define PILOTLAMP)
, на выводе короткие импульсы ( короче 1 миллисекунды) постоянно на которые пищалка реагирует щелчками ( если подаю на пищалку 5 вольт пищит как надо). понятно что импульсы короткие. есть реакция на арминг но все как то в виде дополнительных щелчков на фоне постоянно идущих щелчков.
Что я не так делаю?

bond62
bond62:

Добрый день! Кто нибудь подключал Buzzer к Crius AIOP V2 версия ПО 2.3
подключаю к пин32осциллограф ( раскоментирую #define BUZZER, #define PILOTLAMP)
, на выводе короткие импульсы ( короче 1 миллисекунды) постоянно на которые пищалка реагирует щелчками ( если подаю на пищалку 5 вольт пищит как надо). понятно что импульсы короткие. есть реакция на арминг но все как то в виде дополнительных щелчков на фоне постоянно идущих щелчков.
Что я не так делаю?

сам себе отвечу ( может ещё кому пригодится)
надо сделать так
в def.h

#if defined(MEGA)
#define LEDPIN_PINMODE pinMode (13, OUTPUT);pinMode (30, OUTPUT);
#define LEDPIN_TOGGLE PINB |= (1<<7); PINC |= (1<<7);
#define LEDPIN_ON PORTB |= (1<<7); PORTC |= (1<<7);
#define LEDPIN_OFF PORTB &= ~(1<<7);PORTC &= ~(1<<7);
// #define BUZZERPIN_PINMODE pinMode (32, OUTPUT); (закоментировать)
#define BUZZERPIN_PINMODE DDRH|=(1<<5);//For Buzzer on D8 (здесь изменения)
#if defined PILOTLAMP
#define PL_PIN_ON PORTC |= 1<<5;
#define PL_PIN_OFF PORTC &= ~(1<<5);
#else
//#define BUZZERPIN_ON PORTC |= 1<<5; (закоментировать)
//#define BUZZERPIN_OFF PORTC &= ~(1<<5); (закоментировать)
#define BUZZERPIN_ON PORTH |= 1<<5;//For Buzzer on D8 (здесь изменения)
#define BUZZERPIN_OFF PORTH &= ~(1<<5);//For Buzzer on D8 (здесь изменения)
#endif

в конфиге активировать buzzer
и на D8 можно вешать пищалку ( все это относится к ПО 2.3 конфигурация -квадр) с другими конфигурациями не пробовал

k0der

вопрос такой. можно ли на 328 меге задействовать для gps виртуальный GPS (второй). что бы по первому считывать данные?

koder76

I2C переходник Вам в помощь. Верх этой страницы посмотрите.

k0der

любой или есть предпочтения?(или несовместимые)

а такое через i2c можно зацепить?

ВлАс
k0der:

любой или есть предпочтения?(или несовместимые)

если не умеешь программировать, то лучше выбрать из списка (в коде)

k0der

имея вторую плату ардуино на 328 меге можно сделать переходник?

а такое через i2c можно зацепить?

serenya
k0der:

имея вторую плату ардуино на 328 меге можно сделать переходник?

Я делал из ардуино про мини

Leon11t

Подскажите пожалуйста, хочу добавить свой функционал в Мультивий. Мне нужно сделать булевую переменную, которая будет служить флагом и записать её значение в EEPROM. При подачи питания на плату, мне нужно её считать. Где её нужно инициализировать и как читать\писать в неё значения?

mataor

eeprom.ino.
засунте ее в структуру общую, ну или допишите отдельно свое

Leon11t
mataor:

eeprom.ino.
засунте ее в структуру общую, ну или допишите отдельно свое

Можно по подробнее, или пример из этой парафии.
Мне на офф сайте подсказали засунуть переменную в структуру conf, а как записать данные в нее когда я хочу, например по комбинации стыков, я не знаю.
А потом при включении питания она должна опрашиватся первой и сверятся со значением.
Я типа хочу настроить калибровку ESC по комбинации стыков и при следующем включении питания, оно и будет происходить и сбрасывать флаг переменной.

k0der
serenya:

Я делал из ардуино про мини

где взять код?
спасибо

mataor

Ищем в мултивий.ино:


// ************************
// EEPROM Layout definition
// ************************
static uint8_t dynP8[3], dynD8[3];
static struct {
  uint8_t checkNewConf;
  uint8_t P8[PIDITEMS], I8[PIDITEMS], D8[PIDITEMS];
  uint8_t rcRate8;
  uint8_t rcExpo8;
  uint8_t rollPitchRate;
  uint8_t yawRate;
  uint8_t dynThrPID;
  uint8_t thrMid8;
  uint8_t thrExpo8;
  int16_t accZero[3];
  int16_t magZero[3];
  int16_t angleTrim[2];
  uint16_t activate[CHECKBOXITEMS];
  uint8_t powerTrigger1;
  #ifdef FLYING_WING
    uint16_t wing_left_mid;
    uint16_t wing_right_mid;
  #endif
  #ifdef TRI
    uint16_t tri_yaw_middle;
  #endif
  #if defined HELICOPTER || defined(AIRPLANE)|| defined(SINGLECOPTER)|| defined(DUALCOPTER)
    int16_t servoTrim[8];
  #endif
  #if defined(GYRO_SMOOTHING)
    uint8_t Smoothing[3];
  #endif
} conf;

перед } conf; вставляем вашу переменную, uint8_t test; как пример

при подаче питания - она загрузится, доступ - a = conf.test;
для схранения вызываем родную writeParams(0);