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:
JamieB
Date:
Thu Dec 15 06:05:30 2022 +0000
Revision:
85:0cc5931bb9ef
Parent:
80:0b7f1b85b626
Push to somewhere else due to merge issue

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AndyA 3:14d241e29be3 1 #ifndef __FIZReader_H__
AndyA 3:14d241e29be3 2 #define __FIZReader_H__
AndyA 3:14d241e29be3 3 #include "BufferedSerial.h"
JamieB 80:0b7f1b85b626 4 #include <vector>
AndyA 3:14d241e29be3 5
AndyA 3:14d241e29be3 6 class FIZReader {
AndyA 3:14d241e29be3 7
AndyA 3:14d241e29be3 8 public:
AndyA 3:14d241e29be3 9 FIZReader(const PinName Tx, const PinName Rx);
AndyA 16:a8d3a0dbe4bf 10 virtual void requestCurrent() = 0;
AndyA 3:14d241e29be3 11
AndyA 3:14d241e29be3 12 /// true if the values have been updated since the last update.
AndyA 17:5ce3fe98e76d 13 // focus and zoom are in mm, iris is in 100ths of a stop
AndyA 16:a8d3a0dbe4bf 14 bool getMostRecent(uint32_t *focus, uint16_t *iris, uint16_t *zoom);
AndyA 3:14d241e29be3 15
AndyA 16:a8d3a0dbe4bf 16 protected:
AndyA 16:a8d3a0dbe4bf 17 int hexValue(char ascii);
JamieB 80:0b7f1b85b626 18 unsigned int getAbsoluteValue(unsigned int encoder_pos, vector<unsigned int> &encoder_range, vector<unsigned int> &absolute_range);
JamieB 80:0b7f1b85b626 19 uint32_t getAbsoluteFocus(uint32_t encoder_pos);
JamieB 80:0b7f1b85b626 20 uint16_t getAbsoluteIris(uint16_t encoder_pos);
JamieB 80:0b7f1b85b626 21 uint16_t getAbsoluteZoom(uint16_t encoder_pos);
AndyA 6:61274e214f46 22 RawSerial _port;
AndyA 16:a8d3a0dbe4bf 23
AndyA 16:a8d3a0dbe4bf 24 uint32_t _focus; // in mm
AndyA 16:a8d3a0dbe4bf 25 uint16_t _iris; // in 100ths of F stop
AndyA 16:a8d3a0dbe4bf 26 uint16_t _zoom; // in mm
AndyA 3:14d241e29be3 27 bool newData;
AndyA 16:a8d3a0dbe4bf 28
AndyA 3:14d241e29be3 29 };
AndyA 3:14d241e29be3 30
AndyA 3:14d241e29be3 31 #endif