* Estimated pinout into the ioc file * Fix Atollic paths to be somewhat more portable * Add make command * Add rough calls to ADC2 [untested] * Using dual ADC injected modes * Start both ADCs * Move some IRQ's to ram exec * Stabilize PID a bit more * Add in ideas for tip type selection * Update peripheral setup to support TS80 * Add tiptype formula / settings struct * Add function ids to the settings menu * Rough tip selection * Rough out new cal routine for simple tips * Hardware test is fairly close for first pass * Add Simple calibration case [UNTESTED] This adds the calibration option that uses boiling water to the calibration menu. This is untested, and may need gain adjustments before use. * [Feat] Add some QC testing code * Typo fix * Add double button press handler for different rising times * Add hook for jump to sleep mode * QC for 9V Works! * Rough out QC handler, trim out old menu help text thats useless * QC 9V working... Static all the things (Low on ROM)! * Static all I2C to save space * Move QC negotiation into background task so it doesnt block the UI * Input V display works, tune ADC * QC 3 steps working * Start tip R measurements * Impliment tip resistance * Fix up the accel position, link in auto QC stages * Fix tip title * Tip type settings, Static OLED * Revert I2C callbacks * Misc Cleanup * Better Gain value, need to investiate offset * Add model warning * Add TS80 Boot Logo (#367) * Add TS80 Boot Logo * Refined * Moved down by 1px * Add in power selection 18/24W * Clean up accelerometer, fix TS100 builds, Fix voltage div cal
41 lines
1014 B
C++
41 lines
1014 B
C++
/*
|
|
* FRToSI2C.hpp
|
|
*
|
|
* Created on: 14Apr.,2018
|
|
* Author: Ralim
|
|
*/
|
|
|
|
#ifndef FRTOSI2C_HPP_
|
|
#define FRTOSI2C_HPP_
|
|
#include "stm32f1xx_hal.h"
|
|
#include "cmsis_os.h"
|
|
|
|
class FRToSI2C {
|
|
public:
|
|
|
|
static void init(I2C_HandleTypeDef *i2chandle) {i2c=i2chandle;
|
|
I2CSemaphore=nullptr;}
|
|
|
|
static void FRToSInit() {
|
|
I2CSemaphore = xSemaphoreCreateBinary();
|
|
xSemaphoreGive(I2CSemaphore);
|
|
}
|
|
|
|
static void CpltCallback(); //Normal Tx Callback
|
|
|
|
static void Mem_Read(uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize,
|
|
uint8_t *pData, uint16_t Size);
|
|
static void Mem_Write(uint16_t DevAddress, uint16_t MemAddress,
|
|
uint16_t MemAddSize, uint8_t *pData, uint16_t Size);
|
|
|
|
static void Transmit(uint16_t DevAddress, uint8_t *pData, uint16_t Size);
|
|
static void I2C_RegisterWrite(uint8_t address, uint8_t reg, uint8_t data);
|
|
static uint8_t I2C_RegisterRead(uint8_t address, uint8_t reg);
|
|
|
|
private:
|
|
static I2C_HandleTypeDef *i2c;
|
|
static SemaphoreHandle_t I2CSemaphore;
|
|
};
|
|
|
|
#endif /* FRTOSI2C_HPP_ */
|