Конфигурация микро MinimOsd под простое OSD с контролем тока и напряжения
Изменения в прошивке scarab-osd-1.4.2.10
OSD: Micro MinimOSD.
- Включен контроль 2-х напряжений, тока, mAh и таймер. Включен alert на пониженное напряжение и количество выработанных mAh.
- Настроены калибровочные параметры для датчиков напряжения и тока (используется ACS712 20A bipolar).
- Установлен режим работы без Flight Controller и GPS.
- Альтернативный прицел-рамочка вместо crosshair. Пофиксена бага - прицел не рисовался без акселлерометра.
- Опции для лучшей совместимости с 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
Шрифт
default large higher contrast.mcm