diff --git a/Translation Editor/fontTables.py b/Translation Editor/fontTables.py
old mode 100644
new mode 100755
diff --git a/Translation Editor/make_translation.py b/Translation Editor/make_translation.py
index 8226ac12..803dfb1f 100755
--- a/Translation Editor/make_translation.py
+++ b/Translation Editor/make_translation.py
@@ -176,6 +176,7 @@ def getLetterCounts(defs, lang):
constants = getConstants()
for x in constants:
textList.append(x[1])
+ textList.extend(getDebugMenuHeaders())
textList.extend(getTipModelEnumTS100())
textList.extend(getTipModelEnumTS80())
textList.extend(getDebugMenu())
diff --git a/workspace/TS100/.cproject b/workspace/TS100/.cproject
index b1855fa4..cf57f62e 100644
--- a/workspace/TS100/.cproject
+++ b/workspace/TS100/.cproject
@@ -31,6 +31,11 @@
+
@@ -38,7 +43,7 @@
-
@@ -62,7 +67,7 @@
+
@@ -138,5 +144,9 @@
-
+
+
+
+
+
diff --git a/workspace/TS100/.settings/language.settings.xml b/workspace/TS100/.settings/language.settings.xml
index 4f569702..f18f24e1 100644
--- a/workspace/TS100/.settings/language.settings.xml
+++ b/workspace/TS100/.settings/language.settings.xml
@@ -6,7 +6,7 @@
-
+
diff --git a/workspace/TS100/Core/Inc/Translation.h b/workspace/TS100/Core/Inc/Translation.h
index 909de504..1fe0404e 100644
--- a/workspace/TS100/Core/Inc/Translation.h
+++ b/workspace/TS100/Core/Inc/Translation.h
@@ -68,4 +68,5 @@ extern const char* SymbolDC;
extern const char* SymbolCellCount;
extern const char* SymbolVersionNumber;
+extern const char* DebugMenu[];
#endif /* TRANSLATION_H_ */
diff --git a/workspace/TS100/Core/Inc/hardware.h b/workspace/TS100/Core/Inc/hardware.h
index ecc142f2..f56e0dcd 100644
--- a/workspace/TS100/Core/Inc/hardware.h
+++ b/workspace/TS100/Core/Inc/hardware.h
@@ -9,6 +9,10 @@
#define HARDWARE_H_
#include "Setup.h"
#include "stm32f1xx_hal.h"
+#include "FreeRTOS.h"
+#include "stm32f1xx_hal.h"
+#include "cmsis_os.h"
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -16,7 +20,7 @@ extern "C" {
enum Orientation {
ORIENTATION_LEFT_HAND = 0, ORIENTATION_RIGHT_HAND = 1, ORIENTATION_FLAT = 3
};
-
+#define PID_TIM_HZ (8)
#if defined(MODEL_TS100) + defined(MODEL_TS80) > 1
#error "Multiple models defined!"
#elif defined(MODEL_TS100) + defined(MODEL_TS80) == 0
@@ -131,7 +135,9 @@ void startQC(uint16_t divisor); // Tries to negotiate QC for highest voltage, mu
// This will try for 12V, failing that 9V, failing that 5V
// If input is over 12V returns -1
// If the input is [5-12] Will return the value.
-
+void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer,
+ StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize) ;
+void vApplicationIdleHook(void);
#ifdef __cplusplus
}
#endif
diff --git a/workspace/TS100/Core/Inc/history.hpp b/workspace/TS100/Core/Inc/history.hpp
index 856f6536..01f2a93d 100644
--- a/workspace/TS100/Core/Inc/history.hpp
+++ b/workspace/TS100/Core/Inc/history.hpp
@@ -11,7 +11,7 @@
#include
// max size = 127
-template
+template
struct history {
static const uint8_t size = SIZE;
T buf[size];
diff --git a/workspace/TS100/Core/Inc/power.hpp b/workspace/TS100/Core/Inc/power.hpp
index c08e4cbc..1850cd14 100644
--- a/workspace/TS100/Core/Inc/power.hpp
+++ b/workspace/TS100/Core/Inc/power.hpp
@@ -2,23 +2,38 @@
* Power.hpp
*
* Created on: 28 Oct, 2018
- * Authors: Ben V. Brown, David Hilton
+ * Authors: Ben V. Brown, David Hilton (David's Idea)
*/
#include "stdint.h"
#include
-
+#include "hardware.h"
#ifndef POWER_HPP_
#define POWER_HPP_
-const uint8_t hz = 32;//PID loop rate
-const uint8_t oscillationPeriod = 3.5 * hz; // dampening look back tuning
-extern history milliWattHistory;
-void setupPower(uint8_t resistance);
+// thermal mass = 1690 milliJ/*C for my tip.
+// -> Wattsx10*Seconds to raise Temp from room temp to +100*C, divided by 100*C.
+// we divide mass by 20 to let the I term dominate near the set point.
+// This is necessary because of the temp noise and thermal lag in the system.
+// Once we have feed-forward temp estimation we should be able to better tune this.
-int32_t tempToMilliWatts(int32_t rawTemp, uint16_t mass, uint8_t rawC);
+#ifdef MODEL_TS100
+const uint16_t tipMass = 450; // divide here so division is compile-time.
+const uint8_t tipResistance = 85; //x10 ohms, 8.5 typical for ts100, 4.5 typical for ts80
+
+#endif
+#ifdef MODEL_TS80
+const uint16_t tipMass = 450;
+const uint8_t tipResistance = 45; //x10 ohms, 8.5 typical for ts100, 4.5 typical for ts80
+
+#endif
+const uint8_t oscillationPeriod = 6 * PID_TIM_HZ; // I term look back value
+extern history milliWattHistory;
+
+int32_t tempToMilliWatts(int32_t rawTemp, uint8_t rawC);
void setTipMilliWatts(int32_t mw);
-uint8_t milliWattsToPWM(int32_t milliWatts, uint8_t divisor,uint8_t sample=0);
-int32_t PWMToMilliWatts(uint8_t pwm, uint8_t divisor);
+uint8_t milliWattsToPWM(int32_t milliWatts, uint8_t divisor,
+ uint8_t sample = 0);
+int32_t PWMToMilliWatts(uint8_t pwm, uint8_t divisor, uint8_t sample = 0);
#endif /* POWER_HPP_ */
diff --git a/workspace/TS100/Core/Src/Setup.c b/workspace/TS100/Core/Src/Setup.c
index 8108d1a5..12858395 100644
--- a/workspace/TS100/Core/Src/Setup.c
+++ b/workspace/TS100/Core/Src/Setup.c
@@ -32,13 +32,13 @@ static void MX_ADC2_Init(void);
void Setup_HAL() {
SystemClock_Config();
- #ifndef LOCAL_BUILD
-__HAL_AFIO_REMAP_SWJ_DISABLE();
- #else
-__HAL_AFIO_REMAP_SWJ_NOJTAG();
- #endif
-
-
+#ifndef LOCAL_BUILD
+ __HAL_AFIO_REMAP_SWJ_DISABLE()
+ ;
+#else
+ __HAL_AFIO_REMAP_SWJ_NOJTAG();
+#endif
+
MX_GPIO_Init();
MX_DMA_Init();
MX_I2C1_Init();
@@ -262,9 +262,9 @@ static void MX_TIM3_Init(void) {
htim3.Instance = TIM3;
htim3.Init.Prescaler = 8;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
- htim3.Init.Period = 100; // 10 Khz PWM freq
+ htim3.Init.Period = 100; // 5 Khz PWM freq
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV4; // 4mhz before div
- htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
+ htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; //Preload the ARR register (though we dont use this)
HAL_TIM_Base_Init(&htim3);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
@@ -279,7 +279,7 @@ static void MX_TIM3_Init(void) {
HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig);
sConfigOC.OCMode = TIM_OCMODE_PWM1;
- sConfigOC.Pulse = 50;
+ sConfigOC.Pulse = 80; //80% duty cycle, that is AC coupled through the cap
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_ENABLE;
HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, PWM_Out_CHANNEL);
@@ -291,11 +291,12 @@ static void MX_TIM3_Init(void) {
*/
GPIO_InitStruct.Pin = PWM_Out_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; //We would like sharp rising edges
HAL_GPIO_Init(PWM_Out_GPIO_Port, &GPIO_InitStruct);
#ifdef MODEL_TS100
- // Remap TIM3_CH1 to be on pB4
- __HAL_AFIO_REMAP_TIM3_PARTIAL();
+ // Remap TIM3_CH1 to be on PB4
+ __HAL_AFIO_REMAP_TIM3_PARTIAL()
+ ;
#else
// No re-map required
#endif
@@ -314,14 +315,15 @@ static void MX_TIM2_Init(void) {
// Timer 2 is fairly slow as its being used to run the PWM and trigger the ADC
// in the PWM off time.
htim2.Instance = TIM2;
- htim2.Init.Prescaler = 785; // pwm out is 10k from tim3, we want to run our PWM at around 10hz or slower on the output stage
- // The input is 1mhz after the div/4, so divide this by 785 to give around 4Hz output change rate
- //Trade off is the slower the PWM output the slower we can respond and we gain temperature accuracy in settling time,
- //But it increases the time delay between the heat cycle and the measurement and calculate cycle
+ htim2.Init.Prescaler = 4000; //1mhz tick rate/800 = 1.25 KHz tick rate
+
+ // pwm out is 10k from tim3, we want to run our PWM at around 10hz or slower on the output stage
+ // These values give a rate of around 8Hz
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
- htim2.Init.Period = 255 + 60;
+ htim2.Init.Period = 255 + 17;
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV4; // 4mhz before divide
- htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
+ htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ htim2.Init.RepetitionCounter = 0;
HAL_TIM_Base_Init(&htim2);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
@@ -335,7 +337,8 @@ static void MX_TIM2_Init(void) {
HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig);
sConfigOC.OCMode = TIM_OCMODE_PWM1;
- sConfigOC.Pulse = 255 + 50; //255 is the largest time period of the drive signal, and the 50 offsets this around 5ms afterwards
+ sConfigOC.Pulse = 255 + 13;//13 -> Delay of 5ms
+ //255 is the largest time period of the drive signal, and then offset ADC sample to be a bit delayed after this
/*
* It takes 4 milliseconds for output to be stable after PWM turns off.
* Assume ADC samples in 0.5ms
@@ -344,11 +347,7 @@ static void MX_TIM2_Init(void) {
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_ENABLE;
HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1);
-
- sConfigOC.OCMode = TIM_OCMODE_PWM1;
- sConfigOC.Pulse = 0;
- sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
- sConfigOC.OCFastMode = TIM_OCFAST_ENABLE;
+ sConfigOC.Pulse = 0; //default to entirely off
HAL_TIM_OC_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_4);
HAL_TIM_Base_Start_IT(&htim2);
diff --git a/workspace/TS100/Core/Src/hardware.c b/workspace/TS100/Core/Src/hardware.cpp
similarity index 92%
rename from workspace/TS100/Core/Src/hardware.c
rename to workspace/TS100/Core/Src/hardware.cpp
index e660d560..2fd574a1 100644
--- a/workspace/TS100/Core/Src/hardware.c
+++ b/workspace/TS100/Core/Src/hardware.cpp
@@ -7,9 +7,7 @@
// These are all the functions for interacting with the hardware
#include "hardware.h"
-#include "FreeRTOS.h"
-#include "stm32f1xx_hal.h"
-#include "cmsis_os.h"
+#include "history.hpp"
volatile uint16_t PWMSafetyTimer = 0;
volatile int16_t CalibrationTempOffset = 0;
uint16_t tipGainCalValue = 0;
@@ -68,15 +66,31 @@ uint16_t ftoTipMeasurement(uint16_t temp) {
}
uint16_t getTipInstantTemperature() {
- uint16_t sum;
- sum = hadc1.Instance->JDR1;
- sum += hadc1.Instance->JDR2;
- sum += hadc1.Instance->JDR3;
- sum += hadc1.Instance->JDR4;
- sum += hadc2.Instance->JDR1;
- sum += hadc2.Instance->JDR2;
- sum += hadc2.Instance->JDR3;
- sum += hadc2.Instance->JDR4;
+ uint16_t sum = 0; // 12 bit readings * 8 -> 15 bits
+ uint16_t readings[8];
+ //Looking to reject the highest outlier readings.
+ //As on some hardware these samples can run into the op-amp recovery time
+ //Once this time is up the signal stabilises quickly, so no need to reject minimums
+ readings[0] = hadc1.Instance->JDR1;
+ readings[1] = hadc1.Instance->JDR2;
+ readings[2] = hadc1.Instance->JDR3;
+ readings[3] = hadc1.Instance->JDR4;
+ readings[4] = hadc2.Instance->JDR1;
+ readings[5] = hadc2.Instance->JDR2;
+ readings[6] = hadc2.Instance->JDR3;
+ readings[7] = hadc2.Instance->JDR4;
+ uint8_t minID = 0, maxID = 0;
+ for (int i = 0; i < 8; i++) {
+ if (readings[i] < readings[minID])
+ minID = i;
+ else if (readings[i] > readings[maxID])
+ maxID = i;
+ }
+ for (int i = 0; i < 8; i++) {
+ if (i != maxID)
+ sum += readings[i];
+ }
+ sum += readings[minID]; //Duplicate the min to make up for the missing max value
return sum; // 8x over sample
}
/*
@@ -117,15 +131,17 @@ uint16_t lookupTipDefaultCalValue(enum TipType tipID) {
}
#endif
}
+//2 second filter (ADC is PID_TIM_HZ Hz)
+history rawTempFilter = { { 0 }, 0, 0 };
uint16_t getTipRawTemp(uint8_t refresh) {
- static uint16_t lastSample = 0;
-
if (refresh) {
- lastSample = getTipInstantTemperature();
+ uint16_t lastSample = getTipInstantTemperature();
+ rawTempFilter.update(lastSample);
+ return lastSample;
+ } else {
+ return rawTempFilter.average();
}
-
- return lastSample;
}
uint16_t getInputVoltageX10(uint16_t divisor, uint8_t sample) {
@@ -237,8 +253,6 @@ void startQC(uint16_t divisor) {
// Pre check that the input could be >5V already, and if so, dont both
// negotiating as someone is feeding in hv
uint16_t vin = getInputVoltageX10(divisor, 1);
- if (vin > 150)
- return; // Over voltage
if (vin > 100) {
QCMode = 1; // ALready at ~12V
return;
@@ -461,6 +475,7 @@ void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) {
}
}
+
void vApplicationIdleHook(void) {
HAL_IWDG_Refresh(&hiwdg);
}
diff --git a/workspace/TS100/Core/Src/main.cpp b/workspace/TS100/Core/Src/main.cpp
index c3eb9076..488f511a 100644
--- a/workspace/TS100/Core/Src/main.cpp
+++ b/workspace/TS100/Core/Src/main.cpp
@@ -20,16 +20,16 @@ int16_t idealQCVoltage = 0;
// FreeRTOS variables
osThreadId GUITaskHandle;
-static const size_t GUITaskStackSize = 1024/4;
+static const size_t GUITaskStackSize = 1024 / 4;
uint32_t GUITaskBuffer[GUITaskStackSize];
osStaticThreadDef_t GUITaskControlBlock;
osThreadId PIDTaskHandle;
-static const size_t PIDTaskStackSize =512 / 4;
+static const size_t PIDTaskStackSize = 512 / 4;
uint32_t PIDTaskBuffer[PIDTaskStackSize];
osStaticThreadDef_t PIDTaskControlBlock;
osThreadId MOVTaskHandle;
-static const size_t MOVTaskStackSize = 512/4;
+static const size_t MOVTaskStackSize = 512 / 4;
uint32_t MOVTaskBuffer[MOVTaskStackSize];
osStaticThreadDef_t MOVTaskControlBlock;
@@ -102,9 +102,6 @@ int main(void) {
}
}
-
-
-
/* StartPIDTask function */
void startPIDTask(void const *argument __unused) {
/*
@@ -119,13 +116,12 @@ void startPIDTask(void const *argument __unused) {
#ifdef MODEL_TS80
//Set power management code to the tip resistance in ohms * 10
- setupPower(calculateTipR() / 100);
+
TickType_t lastPowerPulse = 0;
#else
- setupPower(85);
#endif
- history tempError = { { 0 }, 0, 0 };
+ history tempError = { { 0 }, 0, 0 };
currentlyActiveTemperatureTarget = 0; // Force start with no output (off). If in sleep / soldering this will
// be over-ridden rapidly
pidTaskNotification = xTaskGetCurrentTaskHandle();
@@ -172,7 +168,7 @@ void startPIDTask(void const *argument __unused) {
#endif
int32_t milliWattsNeeded = tempToMilliWatts(tempError.average(),
- mass, rawC);
+ mass);
// note that milliWattsNeeded is sometimes negative, this counters overshoot
// from I term's inertia.
milliWattsOut += milliWattsNeeded;
diff --git a/workspace/TS100/Core/Src/power.cpp b/workspace/TS100/Core/Src/power.cpp
index d8bd0118..967a72e9 100644
--- a/workspace/TS100/Core/Src/power.cpp
+++ b/workspace/TS100/Core/Src/power.cpp
@@ -9,58 +9,68 @@
#include
#include
-uint8_t tipResistance = 85; //x10 ohms, 8.5 typical for ts100, 4.5 typical for ts80
const uint16_t powerPWM = 255;
-const uint16_t totalPWM = 255 + 60; //htim2.Init.Period, the full PWM cycle
+const uint16_t totalPWM = 255 + 17; //htim2.Init.Period, the full PWM cycle
history milliWattHistory = { { 0 }, 0, 0 };
-void setupPower(uint8_t res) {
- tipResistance = res;
-}
-
-int32_t tempToMilliWatts(int32_t rawTemp, uint16_t mass, uint8_t rawC) {
+int32_t tempToMilliWatts(int32_t rawTemp, uint8_t rawC) {
// mass is in milliJ/*C, rawC is raw per degree C
// returns milliWatts needed to raise/lower a mass by rawTemp
// degrees in one cycle.
- int32_t milliJoules = mass * rawTemp / rawC;
- return milliJoules * hz;
+ int32_t milliJoules = tipMass*10 * (rawTemp / rawC);
+ return milliJoules;
}
void setTipMilliWatts(int32_t mw) {
//Enforce Max Watts Limiter # TODO
- int32_t output = milliWattsToPWM(mw, systemSettings.voltageDiv / 10,1);
+ int32_t output = milliWattsToPWM(mw, systemSettings.voltageDiv , 1);
setTipPWM(output);
- uint16_t actualMilliWatts = PWMToMilliWatts(output,
- systemSettings.voltageDiv / 10);
+ uint32_t actualMilliWatts = PWMToMilliWatts(output,
+ systemSettings.voltageDiv , 0);
milliWattHistory.update(actualMilliWatts);
}
-uint8_t milliWattsToPWM(int32_t milliWatts, uint8_t divisor, uint8_t sample) {
+int32_t availableW10(uint8_t divisor, uint8_t sample) {
//P = V^2 / R, v*v = v^2 * 100
// R = R*10
- // P therefore is in V^2*10/R = W*10.
- // Scale input milliWatts to the pwm rate
- if (milliWatts == 0)
- return 0;
+ // P therefore is in V^2*100/R*10 = W*10.
int32_t v = getInputVoltageX10(divisor, sample); // 100 = 10v
- int32_t availableMilliWatts = v * v / tipResistance;
+ int32_t availableWattsX10 = (v * v) / tipResistance;
+ //However, 100% duty cycle is not possible as there is a dead time while the ADC takes a reading
+ //Therefore need to scale available milliwats by this
- //int32_t pwm = ((powerPWM * totalPWM / powerPWM) * milliWatts) / availableMilliWatts;
- int32_t pwm = (totalPWM * milliWatts) / availableMilliWatts;
+ // avMw=(AvMw*powerPWM)/totalPWM.
+ availableWattsX10 = availableWattsX10 * powerPWM;
+ availableWattsX10 /= totalPWM;
+
+ //availableMilliWattsX10 is now an accurate representation
+ return availableWattsX10;
+}
+
+uint8_t milliWattsToPWM(int32_t milliWatts, uint8_t divisor, uint8_t sample) {
+
+ // Scale input milliWatts to the pwm rate
+ if (milliWatts < 10) // no pint driving tip
+ return 0;
+
+ //Calculate desired milliwatts as a percentage of availableW10
+ int32_t pwm = (powerPWM * milliWatts) / availableW10(divisor, sample);
if (pwm > powerPWM) {
- pwm = powerPWM;
- } else if (pwm < 0) {
+ pwm = powerPWM; //constrain to max PWM counter, shouldnt be possible, but small cost for safety to avoid wraps
+ } else if (pwm < 0) { //cannot go negative
pwm = 0;
}
-
-
return pwm;
}
-int32_t PWMToMilliWatts(uint8_t pwm, uint8_t divisor) {
- int32_t v = getInputVoltageX10(divisor, 0);
- return pwm * (v * v / tipResistance) / (powerPWM * totalPWM / powerPWM);
+int32_t PWMToMilliWatts(uint8_t pwm, uint8_t divisor, uint8_t sample) {
+ int32_t maxMW = availableW10(divisor, sample); //Get the milliwatts for the max pwm period
+ //Then convert pwm into percentage of powerPWM to get the percentage of the max mw
+ int32_t res = (pwm * maxMW) / powerPWM;
+ if (res < 0)
+ res = 0;
+ return res;
}
diff --git a/workspace/TS100A/.cproject b/workspace/TS100A/.cproject
new file mode 100644
index 00000000..2fd646fc
--- /dev/null
+++ b/workspace/TS100A/.cproject
@@ -0,0 +1,338 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/workspace/TS100A/.gitignore b/workspace/TS100A/.gitignore
new file mode 100644
index 00000000..5221ec2e
--- /dev/null
+++ b/workspace/TS100A/.gitignore
@@ -0,0 +1,5 @@
+/Release/
+/TS100/
+/TS100_LOCAL/
+/ReleaseTS80/
+/ReleaseTS100/
diff --git a/workspace/TS100A/.project b/workspace/TS100A/.project
new file mode 100644
index 00000000..daf70f52
--- /dev/null
+++ b/workspace/TS100A/.project
@@ -0,0 +1,1254 @@
+
+
+ TS100A
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.cnature
+ org.eclipse.cdt.core.ccnature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
+
+ CMSIS
+ 2
+ virtual:/virtual
+
+
+ HAL_Driver
+ 2
+ virtual:/virtual
+
+
+ LinkerScript.ld
+ 1
+ PARENT-1-PROJECT_LOC/TS100/LinkerScript.ld
+
+
+ Middlewares
+ 2
+ virtual:/virtual
+
+
+ inc
+ 2
+ virtual:/virtual
+
+
+ src
+ 2
+ virtual:/virtual
+
+
+ startup
+ 2
+ virtual:/virtual
+
+
+ CMSIS/core
+ 2
+ virtual:/virtual
+
+
+ CMSIS/device
+ 2
+ virtual:/virtual
+
+
+ HAL_Driver/Inc
+ 2
+ virtual:/virtual
+
+
+ HAL_Driver/Src
+ 2
+ virtual:/virtual
+
+
+ Middlewares/Third_Party
+ 2
+ virtual:/virtual
+
+
+ inc/FRToSI2C.hpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/FRToSI2C.hpp
+
+
+ inc/Font.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/Font.h
+
+
+ inc/FreeRTOSConfig.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/FreeRTOSConfig.h
+
+
+ inc/LIS2DH12.hpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/LIS2DH12.hpp
+
+
+ inc/LIS2DH12_defines.hpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/LIS2DH12_defines.hpp
+
+
+ inc/MMA8652FC.hpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/MMA8652FC.hpp
+
+
+ inc/MMA8652FC_defines.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/MMA8652FC_defines.h
+
+
+ inc/OLED.hpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/OLED.hpp
+
+
+ inc/Settings.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/Settings.h
+
+
+ inc/Setup.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/Setup.h
+
+
+ inc/Translation.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/Translation.h
+
+
+ inc/gui.hpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/gui.hpp
+
+
+ inc/hardware.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/hardware.h
+
+
+ inc/history.hpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/history.hpp
+
+
+ inc/main.hpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/main.hpp
+
+
+ inc/power.hpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/power.hpp
+
+
+ inc/stm32f1xx_hal_conf.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/stm32f1xx_hal_conf.h
+
+
+ inc/stm32f1xx_it.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/inc/stm32f1xx_it.h
+
+
+ src/FRToSI2C.cpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/FRToSI2C.cpp
+
+
+ src/LIS2DH12.cpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/LIS2DH12.cpp
+
+
+ src/MMA8652FC.cpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/MMA8652FC.cpp
+
+
+ src/OLED.cpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/OLED.cpp
+
+
+ src/Settings.cpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/Settings.cpp
+
+
+ src/Setup.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/Setup.c
+
+
+ src/Translation.cpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/Translation.cpp
+
+
+ src/freertos.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/freertos.c
+
+
+ src/gui.cpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/gui.cpp
+
+
+ src/hardware.cpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/hardware.cpp
+
+
+ src/main.cpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/main.cpp
+
+
+ src/power.cpp
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/power.cpp
+
+
+ src/stm32f1xx_hal_msp.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/stm32f1xx_hal_msp.c
+
+
+ src/stm32f1xx_hal_timebase_TIM.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/stm32f1xx_hal_timebase_TIM.c
+
+
+ src/stm32f1xx_it.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/stm32f1xx_it.c
+
+
+ src/syscalls.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/syscalls.c
+
+
+ src/system_stm32f1xx.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/src/system_stm32f1xx.c
+
+
+ startup/startup_stm32.s
+ 1
+ PARENT-1-PROJECT_LOC/TS100/startup/startup_stm32.s
+
+
+ CMSIS/core/arm_common_tables.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/arm_common_tables.h
+
+
+ CMSIS/core/arm_const_structs.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/arm_const_structs.h
+
+
+ CMSIS/core/arm_math.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/arm_math.h
+
+
+ CMSIS/core/cmsis_armcc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/cmsis_armcc.h
+
+
+ CMSIS/core/cmsis_armcc_V6.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/cmsis_armcc_V6.h
+
+
+ CMSIS/core/cmsis_gcc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/cmsis_gcc.h
+
+
+ CMSIS/core/core_cm0.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/core_cm0.h
+
+
+ CMSIS/core/core_cm0plus.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/core_cm0plus.h
+
+
+ CMSIS/core/core_cm3.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/core_cm3.h
+
+
+ CMSIS/core/core_cm4.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/core_cm4.h
+
+
+ CMSIS/core/core_cm7.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/core_cm7.h
+
+
+ CMSIS/core/core_cmFunc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/core_cmFunc.h
+
+
+ CMSIS/core/core_cmInstr.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/core_cmInstr.h
+
+
+ CMSIS/core/core_cmSimd.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/core_cmSimd.h
+
+
+ CMSIS/core/core_sc000.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/core_sc000.h
+
+
+ CMSIS/core/core_sc300.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/core/core_sc300.h
+
+
+ CMSIS/device/stm32f100xb.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f100xb.h
+
+
+ CMSIS/device/stm32f100xe.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f100xe.h
+
+
+ CMSIS/device/stm32f101x6.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f101x6.h
+
+
+ CMSIS/device/stm32f101xb.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f101xb.h
+
+
+ CMSIS/device/stm32f101xe.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f101xe.h
+
+
+ CMSIS/device/stm32f101xg.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f101xg.h
+
+
+ CMSIS/device/stm32f102x6.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f102x6.h
+
+
+ CMSIS/device/stm32f102xb.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f102xb.h
+
+
+ CMSIS/device/stm32f103x6.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f103x6.h
+
+
+ CMSIS/device/stm32f103xb.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f103xb.h
+
+
+ CMSIS/device/stm32f103xe.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f103xe.h
+
+
+ CMSIS/device/stm32f103xg.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f103xg.h
+
+
+ CMSIS/device/stm32f105xc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f105xc.h
+
+
+ CMSIS/device/stm32f107xc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f107xc.h
+
+
+ CMSIS/device/stm32f1xx.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/stm32f1xx.h
+
+
+ CMSIS/device/system_stm32f1xx.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/CMSIS/device/system_stm32f1xx.h
+
+
+ HAL_Driver/Inc/Legacy
+ 2
+ virtual:/virtual
+
+
+ HAL_Driver/Inc/stm32_assert_template.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32_assert_template.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_adc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_adc.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_can.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_can.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_can_ex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_can_ex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_cec.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_cec.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_conf.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_conf.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_cortex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_cortex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_crc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_crc.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_dac.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_dac.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_dac_ex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_dac_ex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_def.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_def.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_dma.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_dma.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_eth.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_eth.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_flash.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_flash.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_gpio.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_gpio.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_hcd.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_hcd.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_i2c.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_i2c.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_i2s.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_i2s.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_irda.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_irda.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_iwdg.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_iwdg.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_mmc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_mmc.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_nand.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_nand.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_nor.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_nor.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_pccard.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_pccard.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_pcd.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_pcd.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_pwr.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_pwr.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_rcc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_rcc.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_rtc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_rtc.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_rtc_ex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_rtc_ex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_sd.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_sd.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_smartcard.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_smartcard.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_spi.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_spi.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_sram.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_sram.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_tim.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_tim.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_uart.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_uart.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_usart.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_usart.h
+
+
+ HAL_Driver/Inc/stm32f1xx_hal_wwdg.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_hal_wwdg.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_adc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_adc.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_bus.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_bus.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_cortex.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_cortex.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_crc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_crc.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_dac.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_dac.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_dma.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_dma.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_exti.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_exti.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_fsmc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_fsmc.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_gpio.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_gpio.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_i2c.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_i2c.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_iwdg.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_iwdg.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_pwr.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_pwr.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_rcc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_rcc.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_rtc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_rtc.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_sdmmc.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_sdmmc.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_spi.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_spi.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_system.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_system.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_tim.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_tim.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_usart.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_usart.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_usb.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_usb.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_utils.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_utils.h
+
+
+ HAL_Driver/Inc/stm32f1xx_ll_wwdg.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/stm32f1xx_ll_wwdg.h
+
+
+ HAL_Driver/Src/stm32f1xx_hal.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_adc.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_adc.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_adc_ex.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_adc_ex.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_can.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_can.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_cec.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_cec.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_cortex.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_cortex.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_crc.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_crc.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_dac.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_dac.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_dac_ex.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_dac_ex.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_dma.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_dma.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_eth.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_eth.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_flash.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_flash.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_flash_ex.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_flash_ex.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_gpio.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_gpio.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_hcd.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_hcd.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_i2c.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_i2c.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_i2s.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_i2s.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_irda.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_irda.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_iwdg.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_iwdg.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_mmc.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_mmc.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_nand.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_nand.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_nor.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_nor.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_pccard.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_pccard.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_pcd.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_pcd.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_pwr.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_pwr.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_rcc.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_rcc.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_rtc.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_rtc.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_sd.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_sd.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_smartcard.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_smartcard.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_spi.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_spi.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_spi_ex.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_spi_ex.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_sram.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_sram.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_tim.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_tim.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_tim_ex.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_tim_ex.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_uart.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_uart.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_usart.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_usart.c
+
+
+ HAL_Driver/Src/stm32f1xx_hal_wwdg.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_hal_wwdg.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_adc.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_adc.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_crc.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_crc.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_dac.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_dac.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_dma.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_dma.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_exti.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_exti.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_fsmc.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_fsmc.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_gpio.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_gpio.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_i2c.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_i2c.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_pwr.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_pwr.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_rcc.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_rcc.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_rtc.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_rtc.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_sdmmc.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_sdmmc.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_spi.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_spi.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_tim.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_tim.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_usart.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_usart.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_usb.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_usb.c
+
+
+ HAL_Driver/Src/stm32f1xx_ll_utils.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Src/stm32f1xx_ll_utils.c
+
+
+ Middlewares/Third_Party/FreeRTOS
+ 2
+ virtual:/virtual
+
+
+ HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
+
+
+ Middlewares/Third_Party/FreeRTOS/License
+ 2
+ virtual:/virtual
+
+
+ Middlewares/Third_Party/FreeRTOS/Source
+ 2
+ virtual:/virtual
+
+
+ Middlewares/Third_Party/FreeRTOS/License/license.txt
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/License/license.txt
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS
+ 2
+ virtual:/virtual
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/croutine.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/croutine.c
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/event_groups.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include
+ 2
+ virtual:/virtual
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/list.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/list.c
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/portable
+ 2
+ virtual:/virtual
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/queue.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/queue.c
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/readme.txt
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/readme.txt
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/st_readme.txt
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/st_readme.txt
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/tasks.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/tasks.c
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/timers.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/timers.c
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/list.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/list.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/portable.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/queue.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/stdint.readme
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/stdint.readme
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/task.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/task.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/include/timers.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/portable/GCC
+ 2
+ virtual:/virtual
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang
+ 2
+ virtual:/virtual
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3
+ 2
+ virtual:/virtual
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3/port.c
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3/port.c
+
+
+ Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3/portmacro.h
+ 1
+ PARENT-1-PROJECT_LOC/TS100/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3/portmacro.h
+
+
+