Конфигурация микро MinimOsd под простое OSD с контролем тока и напряжения

Изменения в прошивке scarab-osd-1.4.2.10

OSD: Micro MinimOSD.

  1. Включен контроль 2-х напряжений, тока, mAh и таймер. Включен alert на пониженное напряжение и количество выработанных mAh.
  2. Настроены калибровочные параметры для датчиков напряжения и тока (используется ACS712 20A bipolar).
  3. Установлен режим работы без Flight Controller и GPS.
  4. Альтернативный прицел-рамочка вместо crosshair. Пофиксена бага - прицел не рисовался без акселлерометра.
  5. Опции для лучшей совместимости с Hi-Res камерами с большим числом строк.

    Config.h
#define WITESPYV1                 // Uncomment this if using Witespy V1.1 OSD, select this to correct for both swapped bat1/bat 2 and to also use alternative resistors / pinouts.

#define NOCONTROLLER              // Uncomment this if you ahave nothing connected to the serial port - no controller or GPS module

// AP; For ACS712 20A BI;
#define AMPERAGEMAX     200         // Size of current sensor / maximum current draw (* 10) e.g. 50A sensor = 500, 100A sensor = 1000
#define AMPERAGEOFFSET  500           // Optional extra for high offset sensors not supported in GUI (typically bidirectional sensors use a value of 256-512)

#define INTRO_DELAY 1             // Seconds intro screen should show for. Default is 10

#define STARTUPDELAY 2000         // Enable alternative startup delay (in ms) to allow MAX chip voltage to rise fully and initialise before configuring

#define SHIFTDOWN                 // Select if your monitor cannot display top line fully. It shifts top 3 lines down. Not suitable for all layouts
#define ALT_CENTER                // Enable alternative center crosshair
#define FORCECROSSHAIR            // Forces a crosshair even if no AHI / horizon used

#define FASTPIXEL                 // Optional - may improve resolution - especially hi res cams

MW_OSD.ino

        if(MwSensorPresent&ACCELEROMETER)
           displayHorizon(MwAngle[0],MwAngle[1]);
        displayCrossHair(); // AP;
        if(Settings[S_DISPLAYVOLTAGE]&&((voltage>Settings[S_VOLTAGEMIN])||(timer.Blink2hz)))
          displayVoltage();
        if(Settings[S_DISPLAYRSSI]&&((rssi>Settings[S_RSSI_ALARM])||(timer.Blink2hz)))

Screen.ino

// AP; START;
void displayCrossHair() {
  #ifdef FORCECROSSHAIR
    uint16_t position = getPosition(horizonPosition)-(2*LINE);
    screen[position+2*LINE+7-1] = SYM_AH_CENTER_LINE;
    screen[position+2*LINE+7+1] = SYM_AH_CENTER_LINE_RIGHT;
    screen[position+2*LINE+7] =   SYM_AH_CENTER;
  #endif //FORCECROSSHAIR
}
// AP; STOP;

удалено из displayHorizon:

  #ifdef FORCECROSSHAIR
    screen[position+2*LINE+7-1] = SYM_AH_CENTER_LINE;
    screen[position+2*LINE+7+1] = SYM_AH_CENTER_LINE_RIGHT;
    screen[position+2*LINE+7] =   SYM_AH_CENTER;
  #endif //FORCECROSSHAIR

Настройки OSD

Шрифт
 default large higher contrast.mcm

OSD и эквивалент нагрузки на 18A тока

  • 2198