I messed up the merge, so pushing it over to another repo so I don't lose it. Will tidy up and remove later

Dependencies:   BufferedSerial FatFileSystemCpp mbed

Committer:
AndyA
Date:
Mon Nov 14 14:53:12 2022 +0000
Revision:
82:ee6eed2a51bd
Parent:
81:aee60dcce61b
First pass at adding PNT position source support.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AndyA 0:97661408d0f9 1 #ifndef __LTCApp_h__
AndyA 0:97661408d0f9 2 #define __LTCApp_h__
AndyA 0:97661408d0f9 3
AndyA 0:97661408d0f9 4 #include "mbed.h"
AndyA 0:97661408d0f9 5 #include "LTCDecode.h"
AndyA 0:97661408d0f9 6 #include "VIPSSerialProtocol.h"
AndyA 82:ee6eed2a51bd 7 #include "PNTSerial.h"
AndyA 0:97661408d0f9 8 #include "frameRates.h"
AndyA 0:97661408d0f9 9 #include "BufferedSerial.h"
AndyA 16:a8d3a0dbe4bf 10 #include "FIZ_DISNEY.h"
AndyA 16:a8d3a0dbe4bf 11 #include "FIZ_digiPower.h"
AndyA 19:08e6a2283d58 12 #include "FIZDigiPowerActive.h"
JamieB 29:b0eaeefa4e63 13 #include "FIZCanon.h"
AndyA 62:dcb92159ac8e 14 #include "FIZ_ArriCmotion.h"
AndyA 9:7214e3c3e5f8 15 #include "frameclock.h"
JamieB 20:ce1d8fbff68f 16 #include "FreeD.h"
AndyA 0:97661408d0f9 17 #include <stdint.h>
JamieB 78:8e1170e18a2d 18 #include <vector>
AndyA 0:97661408d0f9 19
AndyA 0:97661408d0f9 20 extern volatile uint32_t VBOXTicks;
AndyA 0:97661408d0f9 21 extern volatile bool ppsActive;
AndyA 0:97661408d0f9 22
AndyA 0:97661408d0f9 23 extern BufferedSerial pc;
AndyA 0:97661408d0f9 24
AndyA 0:97661408d0f9 25 extern frameRates detectedRate;
AndyA 0:97661408d0f9 26
AndyA 0:97661408d0f9 27 extern Timer TimeSinceLastFrame;
AndyA 0:97661408d0f9 28 extern uint32_t TimeSinceLastFrameWrap;
AndyA 14:76083dc18b0d 29 extern DigitalOut led1;
AndyA 0:97661408d0f9 30
AndyA 16:a8d3a0dbe4bf 31 extern void vipsBypassRx(char byte);
AndyA 16:a8d3a0dbe4bf 32
AndyA 82:ee6eed2a51bd 33 enum positionSource_e {VIPSSource, PNTSource};
AndyA 82:ee6eed2a51bd 34
AndyA 35:7ecf25d9c414 35 typedef struct UserSettings_s {
AndyA 35:7ecf25d9c414 36 int FIZmode;
AndyA 35:7ecf25d9c414 37 int SerialOutMode;
JamieB 42:9653486372a6 38 int FreeDPort;
JamieB 73:89f799500055 39 int DataOutPort;
JamieB 42:9653486372a6 40 int VipsUDPPort;
AndyA 68:9e68287f0ab7 41 int SettingsPort;
AndyA 35:7ecf25d9c414 42 char IPAddress[32];
AndyA 35:7ecf25d9c414 43 char Gateway[32];
AndyA 35:7ecf25d9c414 44 char Subnet[32];
AndyA 35:7ecf25d9c414 45 int FilterOrder;
AndyA 35:7ecf25d9c414 46 float FilterFreq;
AndyA 35:7ecf25d9c414 47 float FilterRate;
AndyA 35:7ecf25d9c414 48 bool FilterXY;
AndyA 35:7ecf25d9c414 49 bool FilterZ;
AndyA 35:7ecf25d9c414 50 bool FilterRoll;
AndyA 35:7ecf25d9c414 51 bool FilterPitch;
AndyA 35:7ecf25d9c414 52 bool FilterYaw;
JamieB 46:432d63e8fe64 53 bool AutoHyperSmooth;
AndyA 44:fe7fcf62c75d 54 bool FlexibleVIPSOut;
AndyA 50:d6c56eccf56a 55 float SerialTxDelayMS;
AndyA 50:d6c56eccf56a 56 float UDPTxDelayMS;
AndyA 50:d6c56eccf56a 57 float SerialTxDelayFrame;
AndyA 50:d6c56eccf56a 58 float UDPTxDelayFrame;
JamieB 72:da2f1df6a50d 59 float InterpolationOffset_uS;
JamieB 72:da2f1df6a50d 60 float InterpolationOffsetFrame;
AndyA 51:d4a5151af5af 61 bool InvertRoll;
AndyA 51:d4a5151af5af 62 bool InvertPitch;
AndyA 51:d4a5151af5af 63 bool InvertYaw;
AndyA 55:ee36cab19a58 64 int OffsetRoll;
AndyA 55:ee36cab19a58 65 int OffsetPitch;
AndyA 55:ee36cab19a58 66 int OffsetYaw;
AndyA 52:adbbaadca0a9 67 int bypassBaud;
JamieB 60:899862db7f2a 68 bool ForcePPF;
JamieB 61:e734e86661b0 69 bool HalfRate;
JamieB 71:7305a35cee58 70 float focus_scale;
JamieB 71:7305a35cee58 71 float focus_offset;
JamieB 71:7305a35cee58 72 float iris_scale;
JamieB 71:7305a35cee58 73 float iris_offset;
JamieB 71:7305a35cee58 74 float zoom_scale;
JamieB 71:7305a35cee58 75 float zoom_offset;
JamieB 80:0b7f1b85b626 76 bool low_zoom_precision;
JamieB 81:aee60dcce61b 77 bool absolute_focus;
JamieB 81:aee60dcce61b 78 bool absolute_iris;
JamieB 81:aee60dcce61b 79 bool absolute_zoom;
AndyA 82:ee6eed2a51bd 80 enum positionSource_e PositionSource;
AndyA 82:ee6eed2a51bd 81 double originLat;
AndyA 82:ee6eed2a51bd 82 double originLon;
AndyA 82:ee6eed2a51bd 83 float originAlt;
JamieB 80:0b7f1b85b626 84 vector<unsigned int> focus_encoder_map;
JamieB 80:0b7f1b85b626 85 vector<unsigned int> focus_absolute_map;
JamieB 80:0b7f1b85b626 86 vector<unsigned int> iris_encoder_map;
JamieB 80:0b7f1b85b626 87 vector<unsigned int> iris_absolute_map;
JamieB 80:0b7f1b85b626 88 vector<unsigned int> zoom_encoder_map;
JamieB 80:0b7f1b85b626 89 vector<unsigned int> zoom_absolute_map;
AndyA 35:7ecf25d9c414 90 } UserSettings_t;
AndyA 35:7ecf25d9c414 91
JamieB 46:432d63e8fe64 92 extern UserSettings_t UserSettings;
JamieB 46:432d63e8fe64 93
JamieB 80:0b7f1b85b626 94 // extern int pos_upper;
JamieB 80:0b7f1b85b626 95 // extern int pos_lower;
JamieB 80:0b7f1b85b626 96 // extern int pos_value;
JamieB 80:0b7f1b85b626 97
AndyA 0:97661408d0f9 98 #endif