From 0c84e7da502b2d38603c2e03e89e69bc6f5bb9bf Mon Sep 17 00:00:00 2001 From: discip <53649486+discip@users.noreply.github.com> Date: Sat, 30 Apr 2022 00:47:50 +0200 Subject: [PATCH 1/4] Update Font.h --- source/Core/Drivers/Font.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/Core/Drivers/Font.h b/source/Core/Drivers/Font.h index 7c9cc24762..d3fc1723b0 100644 --- a/source/Core/Drivers/Font.h +++ b/source/Core/Drivers/Font.h @@ -124,7 +124,7 @@ const uint8_t WarningBlock24[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x30, 0x0C, 0x02, 0xF1, 0xF1, 0xF1, 0x02, 0x0C, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xB0, 0x8C, 0x83, 0x80, 0x80, 0x80, 0x80, 0xB3, 0xB3, 0xB3, 0x80, 0x80, 0x80, 0x80, 0x83, 0x8C, 0xB0, 0xC0, 0x00, 0x00}; -#if defined(MODEL_TS100) + defined(MODEL_Pinecil) >= 1 +#if defined(MODEL_TS100) + defined(MODEL_Pinecil) > 0 const uint8_t buttonA[] = { // width = 42 // height = 16 @@ -140,7 +140,7 @@ const uint8_t disconnectedTip[] = { 0x04, 0x31, 0x38, 0x1c, 0x0e, 0x04, 0x01, 0x03, 0x07, 0x0e, 0x1c, 0x39, 0x30, 0x01, 0x03, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x09, 0x0f, 0x00}; #endif -#if defined(MODEL_TS80) + defined(MODEL_TS80P) >= 1 +#if defined(MODEL_TS80) + defined(MODEL_TS80P) > 0 const uint8_t buttonA[] = { // width = 42 // height = 16 From eddf776ba1275d0fbdb7fb96c061fa1237c1fca1 Mon Sep 17 00:00:00 2001 From: discip <53649486+discip@users.noreply.github.com> Date: Sat, 30 Apr 2022 00:50:47 +0200 Subject: [PATCH 2/4] Update Power.cpp --- source/Core/BSP/Miniware/Power.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/source/Core/BSP/Miniware/Power.cpp b/source/Core/BSP/Miniware/Power.cpp index b72d984beb..84772772f4 100644 --- a/source/Core/BSP/Miniware/Power.cpp +++ b/source/Core/BSP/Miniware/Power.cpp @@ -22,11 +22,7 @@ void power_check() { } bool getIsPoweredByDCIN() { -#ifdef MODEL_TS80 - return false; -#endif - -#ifdef MODEL_TS80P +#if defined(MODEL_TS80) + defined(MODEL_TS80P) > 0 return false; #endif From 9bf3da7a6c0c08b0903595cf10b93e6bb27053a2 Mon Sep 17 00:00:00 2001 From: discip <53649486+discip@users.noreply.github.com> Date: Sat, 30 Apr 2022 00:55:05 +0200 Subject: [PATCH 3/4] Update configuration.h --- source/Core/BSP/Miniware/configuration.h | 438 +++++++++++------------ 1 file changed, 205 insertions(+), 233 deletions(-) diff --git a/source/Core/BSP/Miniware/configuration.h b/source/Core/BSP/Miniware/configuration.h index 867810aaf7..f33952a013 100644 --- a/source/Core/BSP/Miniware/configuration.h +++ b/source/Core/BSP/Miniware/configuration.h @@ -1,236 +1,208 @@ #ifndef CONFIGURATION_H_ -#define CONFIGURATION_H_ -#include "Settings.h" -#include -/** - * Configuration.h - * Define here your default pre settings for TS80(P) or TS100 - * - */ - -//=========================================================================== -//============================= Default Settings ============================ -//=========================================================================== -/** - * Default soldering temp is 320.0 C - * Temperature the iron sleeps at - default 150.0 C - */ - -#define SLEEP_TEMP 150 // Default sleep temperature -#define BOOST_TEMP 420 // Default boost temp. -#define BOOST_MODE_ENABLED 1 // 0: Disable 1: Enable - -/** - * Blink the temperature on the cooling screen when its > 50C - */ -#define COOLING_TEMP_BLINK 0 // 0: Disable 1: Enable - -/** - * How many seconds/minutes we wait until going to sleep/shutdown. - * Values -> SLEEP_TIME * 10; i.e. 5*10 = 50 Seconds! - */ -#define SLEEP_TIME 5 // x10 Seconds -#define SHUTDOWN_TIME 10 // Minutes - -/** - * Auto start off for safety. - * Pissible values are: - * 0 - none - * 1 - Soldering Temperature - * 2 - Sleep Temperature - * 3 - Sleep Off Temperature - */ -#define AUTO_START_MODE 0 // Default to none - -/** - * Locking Mode - * When in soldering mode a long press on both keys toggle the lock of the buttons - * Possible values are: - * 0 - Desactivated - * 1 - Lock except boost - * 2 - Full lock - */ -#define LOCKING_MODE 0 // Default to desactivated for safety - -/** - * OLED Orientation - * - */ -#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic -#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change - -/** - * Temp change settings - */ -#define TEMP_CHANGE_SHORT_STEP 1 // Default temp change short step +1 -#define TEMP_CHANGE_LONG_STEP 10 // Default temp change long step +10 -#define TEMP_CHANGE_SHORT_STEP_MAX 50 // Temp change short step MAX value -#define TEMP_CHANGE_LONG_STEP_MAX 90 // Temp change long step MAX value - -/* Power pulse for keeping power banks awake*/ -#define POWER_PULSE_INCREMENT 1 -#define POWER_PULSE_MAX 100 // x10 max watts -#define POWER_PULSE_WAIT_MAX 9 // 9*2.5s = 22.5 seconds -#define POWER_PULSE_DURATION_MAX 9 // 9*250ms = 2.25 seconds - -#ifdef MODEL_TS100 -#define POWER_PULSE_DEFAULT 0 -#else -#define POWER_PULSE_DEFAULT 5 -#endif -#define POWER_PULSE_WAIT_DEFAULT 4 // Default rate of the power pulse: 4*2500 = 10000 ms = 10 s -#define POWER_PULSE_DURATION_DEFAULT 1 // Default duration of the power pulse: 1*250 = 250 ms - -/** - * OLED Orientation Sensitivity on Automatic mode! - * Motion Sensitivity <0=Off 1=Least Sensitive 9=Most Sensitive> - */ -#define SENSITIVITY 7 // Default 7 - -/** - * Detailed soldering screen - * Detailed idle screen (off for first time users) - */ -#define DETAILED_SOLDERING 0 // 0: Disable 1: Enable - Default 0 -#define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0 - -#define THERMAL_RUNAWAY_TIME_SEC 20 -#define THERMAL_RUNAWAY_TEMP_C 10 - -#define CUT_OUT_SETTING 0 // default to no cut-off voltage -#define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33)) -#define TEMPERATURE_INF 0 // default to 0 -#define DESCRIPTION_SCROLL_SPEED 0 // 0: Slow 1: Fast - default to slow -#define ANIMATION_LOOP 1 // 0: off 1: on -#define ANIMATION_SPEED settingOffSpeed_t::MEDIUM - -#define OP_AMP_Rf_TS100 750 * 1000 // 750 Kilo-ohms -> From schematic, R1 -#define OP_AMP_Rin_TS100 2370 // 2.37 Kilo-ohms -> From schematic, R2 - -#define OP_AMP_GAIN_STAGE_TS100 (1 + (OP_AMP_Rf_TS100 / OP_AMP_Rin_TS100)) - -#define OP_AMP_Rf_TS80 180 * 1000 // 180 Kilo-ohms -> From schematic, R6 -#define OP_AMP_Rin_TS80 2000 // 2.0 Kilo-ohms -> From schematic, R3 - -#define OP_AMP_GAIN_STAGE_TS80 (1 + (OP_AMP_Rf_TS80 / OP_AMP_Rin_TS80)) - -// Deriving the Voltage div: -// Vin_max = (3.3*(r1+r2))/(r2) -// vdiv = (32768*4)/(vin_max*10) - -#if defined(MODEL_TS100) + defined(MODEL_TS80) + defined(MODEL_TS80P) > 1 -#error "Multiple models defined!" -#elif defined(MODEL_TS100) + defined(MODEL_TS80) + defined(MODEL_TS80P) == 0 -#error "No model defined!" -#endif - -// Miniware is swapping IMU's around a bit now, so we turn them all on - -#define ACCEL_MMA -#define ACCEL_LIS -#define ACCEL_SC7 -#define ACCEL_MSA -#define ACCEL_BMA - -#ifdef MODEL_TS100 -#define SOLDERING_TEMP 320 // Default soldering temp is 320.0 °C -#define VOLTAGE_DIV 467 // 467 - Default divider from schematic -#define CALIBRATION_OFFSET 900 // 900 - Default adc offset in uV -#define MIN_CALIBRATION_OFFSET 100 // Min value for calibration -#define PID_POWER_LIMIT 70 // Sets the max pwm power limit -#define POWER_LIMIT 0 // 0 watts default limit -#define MAX_POWER_LIMIT 70 // -#define POWER_LIMIT_STEPS 5 // -#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS100 // -#define TEMP_uV_LOOKUP_HAKKO // -#define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate -#define PID_TIM_HZ (8) // Tick rate of the PID loop -#define MAX_TEMP_C 450 // Max soldering temp selectable °C -#define MAX_TEMP_F 850 // Max soldering temp selectable °F -#define MIN_TEMP_C 10 // Min soldering temp selectable °C -#define MIN_TEMP_F 60 // Min soldering temp selectable °F -#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C -#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F -#define POW_DC - -#define POW_PD 0 - -#define TEMP_TMP36 -#endif - -#ifdef MODEL_TS80 -#define SOLDERING_TEMP 320 // Default soldering temp is 320.0 °C -#define VOLTAGE_DIV 780 // Default divider from schematic -#define PID_POWER_LIMIT 24 // Sets the max pwm power limit -#define CALIBRATION_OFFSET 900 // the adc offset in uV -#define MIN_CALIBRATION_OFFSET 100 // Min value for calibration -#define POWER_LIMIT 24 // 24 watts default power limit -#define MAX_POWER_LIMIT 40 // -#define POWER_LIMIT_STEPS 2 // -#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS80 // -#define TEMP_uV_LOOKUP_TS80 // -#define USB_PD_VMAX 12 // Maximum voltage for PD to negotiate -#define PID_TIM_HZ (8) // Tick rate of the PID loop -#define MAX_TEMP_C 450 // Max soldering temp selectable °C -#define MAX_TEMP_F 850 // Max soldering temp selectable °F -#define MIN_TEMP_C 10 // Min soldering temp selectable °C -#define MIN_TEMP_F 60 // Min soldering temp selectable °F -#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C -#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F - -#define POW_QC -#define POW_PD 0 -#define TEMP_TMP36 -#define LIS_ORI_FLIP -#define OLED_FLIP -#endif - -#ifdef MODEL_TS80P -#define SOLDERING_TEMP 320 // Default soldering temp is 320.0 °C -#define VOLTAGE_DIV 650 // Default for TS80P with slightly different resistors -#define PID_POWER_LIMIT 35 // Sets the max pwm power limit -#define CALIBRATION_OFFSET 1500 // the adc offset in uV -#define MIN_CALIBRATION_OFFSET 100 // Min value for calibration -#define POWER_LIMIT 30 // 30 watts default power limit -#define MAX_POWER_LIMIT 40 // -#define POWER_LIMIT_STEPS 2 // -#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS80 // -#define TEMP_uV_LOOKUP_TS80 // -#define USB_PD_VMAX 12 // Maximum voltage for PD to negotiate -#define PID_TIM_HZ (8) // Tick rate of the PID loop -#define MAX_TEMP_C 450 // Max soldering temp selectable °C -#define MAX_TEMP_F 850 // Max soldering temp selectable °F -#define MIN_TEMP_C 10 // Min soldering temp selectable °C -#define MIN_TEMP_F 60 // Min soldering temp selectable °F -#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C -#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F - -#define POW_PD 1 -#define POW_QC 1 -#define TEMP_NTC -#define I2C_SOFT -#define LIS_ORI_FLIP -#define SC7_ORI_FLIP -#define OLED_FLIP -#endif - -#ifdef MODEL_TS100 -#define HARDWARE_MAX_WATTAGE_X10 750 -#define TIP_THERMAL_MASS 65 // X10 watts to raise 1 deg C in 1 second -#define TIP_RESISTANCE 75 // x10 ohms, 7.5 typical for ts100 tips -#endif - -#ifdef MODEL_TS80 -#define HARDWARE_MAX_WATTAGE_X10 180 -#define TIP_THERMAL_MASS 40 -#define TIP_RESISTANCE 45 // x10 ohms, 4.5 typical for ts80 tips -#endif - -#ifdef MODEL_TS80P -#define HARDWARE_MAX_WATTAGE_X10 300 -#define TIP_THERMAL_MASS 40 -#define TIP_RESISTANCE 45 // x10 ohms, 4.5 typical for ts80 tips -#endif + #define CONFIGURATION_H_ + #include "Settings.h" + #include + /** + * Configuration.h + * Define here your default pre settings for TS80(P) or TS100 + * + */ + + //=========================================================================== + //============================= Default Settings ============================ + //=========================================================================== + /** + * Default soldering temp is 320.0 C + * Temperature the iron sleeps at - default 150.0 C + */ + + #define SLEEP_TEMP 150 // Default sleep temperature + #define BOOST_TEMP 420 // Default boost temp. + #define BOOST_MODE_ENABLED 1 // 0: Disable 1: Enable + + /** + * Blink the temperature on the cooling screen when its > 50C + */ + #define COOLING_TEMP_BLINK 0 // 0: Disable 1: Enable + + /** + * How many seconds/minutes we wait until going to sleep/shutdown. + * Values -> SLEEP_TIME * 10; i.e. 5*10 = 50 Seconds! + */ + #define SLEEP_TIME 5 // x10 Seconds + #define SHUTDOWN_TIME 10 // Minutes + + /** + * Auto start off for safety. + * Pissible values are: + * 0 - none + * 1 - Soldering Temperature + * 2 - Sleep Temperature + * 3 - Sleep Off Temperature + */ + #define AUTO_START_MODE 0 // Default to none + + /** + * Locking Mode + * When in soldering mode a long press on both keys toggle the lock of the buttons + * Possible values are: + * 0 - Desactivated + * 1 - Lock except boost + * 2 - Full lock + */ + #define LOCKING_MODE 0 // Default to desactivated for safety + + /** + * OLED Orientation + * + */ + #define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic + #define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change + + /** + * Temp change settings + */ + #define TEMP_CHANGE_SHORT_STEP 1 // Default temp change short step +1 + #define TEMP_CHANGE_LONG_STEP 10 // Default temp change long step +10 + #define TEMP_CHANGE_SHORT_STEP_MAX 50 // Temp change short step MAX value + #define TEMP_CHANGE_LONG_STEP_MAX 90 // Temp change long step MAX value + + /* Power pulse for keeping power banks awake*/ + #define POWER_PULSE_INCREMENT 1 + #define POWER_PULSE_MAX 100 // x10 max watts + #define POWER_PULSE_WAIT_MAX 9 // 9*2.5s = 22.5 seconds + #define POWER_PULSE_DURATION_MAX 9 // 9*250ms = 2.25 seconds + + #ifdef MODEL_TS100 + #define POWER_PULSE_DEFAULT 0 + #else + #define POWER_PULSE_DEFAULT 5 + #endif + #define POWER_PULSE_WAIT_DEFAULT 4 // Default rate of the power pulse: 4*2500 = 10000 ms = 10 s + #define POWER_PULSE_DURATION_DEFAULT 1 // Default duration of the power pulse: 1*250 = 250 ms + + /** + * OLED Orientation Sensitivity on Automatic mode! + * Motion Sensitivity <0=Off 1=Least Sensitive 9=Most Sensitive> + */ + #define SENSITIVITY 7 // Default 7 + + /** + * Detailed soldering screen + * Detailed idle screen (off for first time users) + */ + #define DETAILED_SOLDERING 0 // 0: Disable 1: Enable - Default 0 + #define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0 + + #define THERMAL_RUNAWAY_TIME_SEC 20 + #define THERMAL_RUNAWAY_TEMP_C 10 + + #define CUT_OUT_SETTING 0 // default to no cut-off voltage + #define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33)) + #define TEMPERATURE_INF 0 // default to 0 + #define DESCRIPTION_SCROLL_SPEED 0 // 0: Slow 1: Fast - default to slow + #define ANIMATION_LOOP 1 // 0: off 1: on + #define ANIMATION_SPEED settingOffSpeed_t::MEDIUM + + #define OP_AMP_Rf_TS100 750 * 1000 // 750 Kilo-ohms -> From schematic, R1 + #define OP_AMP_Rin_TS100 2370 // 2.37 Kilo-ohms -> From schematic, R2 + + #define OP_AMP_GAIN_STAGE_TS100 (1 + (OP_AMP_Rf_TS100 / OP_AMP_Rin_TS100)) + + #define OP_AMP_Rf_TS80 180 * 1000 // 180 Kilo-ohms -> From schematic, R6 + #define OP_AMP_Rin_TS80 2000 // 2.0 Kilo-ohms -> From schematic, R3 + + #define OP_AMP_GAIN_STAGE_TS80 (1 + (OP_AMP_Rf_TS80 / OP_AMP_Rin_TS80)) + + // Deriving the Voltage div: + // Vin_max = (3.3*(r1+r2))/(r2) + // vdiv = (32768*4)/(vin_max*10) + + #if defined(MODEL_TS100) + defined(MODEL_TS80) + defined(MODEL_TS80P) > 1 + #error "Multiple models defined!" + #elif defined(MODEL_TS100) + defined(MODEL_TS80) + defined(MODEL_TS80P) == 0 + #error "No model defined!" + #endif + + // Miniware is swapping IMU's around a bit now, so we turn them all on + + #define ACCEL_MMA + #define ACCEL_LIS + #define ACCEL_SC7 + #define ACCEL_MSA + #define ACCEL_BMA + + #define MIN_CALIBRATION_OFFSET 100 // Min value for calibration + #define SOLDERING_TEMP 320 // Default soldering temp is 320.0 °C + #define PID_TIM_HZ (8) // Tick rate of the PID loop + #define MAX_TEMP_C 450 // Max soldering temp selectable °C + #define MAX_TEMP_F 850 // Max soldering temp selectable °F + #define MIN_TEMP_C 10 // Min soldering temp selectable °C + #define MIN_TEMP_F 60 // Min soldering temp selectable °F + #define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C + #define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F + + #ifdef MODEL_TS100 + #define VOLTAGE_DIV 467 // 467 - Default divider from schematic + #define CALIBRATION_OFFSET 900 // 900 - Default adc offset in uV + #define PID_POWER_LIMIT 70 // Sets the max pwm power limit + #define POWER_LIMIT 0 // 0 watts default limit + #define MAX_POWER_LIMIT 70 + #define POWER_LIMIT_STEPS 5 + #define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS100 + #define TEMP_uV_LOOKUP_HAKKO + #define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate + + #define HARDWARE_MAX_WATTAGE_X10 750 + #define TIP_THERMAL_MASS 65 // X10 watts to raise 1 deg C in 1 second + #define TIP_RESISTANCE 75 // x10 ohms, 7.5 typical for ts100 tips + + #define POW_DC + #define POW_PD 0 + #define TEMP_TMP36 + #endif + + #if defined(MODEL_TS80) + defined(MODEL_TS80P) > 0 + #define MAX_POWER_LIMIT 40 + #define POWER_LIMIT_STEPS 2 + #define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS80 + #define TEMP_uV_LOOKUP_TS80 + #define USB_PD_VMAX 12 // Maximum voltage for PD to negotiate + + #define TIP_THERMAL_MASS 40 + #define TIP_RESISTANCE 45 // x10 ohms, 4.5 typical for ts80 tips + + #define LIS_ORI_FLIP + #define OLED_FLIP + #endif + + #ifdef MODEL_TS80 + #define VOLTAGE_DIV 780 // Default divider from schematic + #define CALIBRATION_OFFSET 900 // the adc offset in uV + #define PID_POWER_LIMIT 24 // Sets the max pwm power limit + #define POWER_LIMIT 24 // 24 watts default power limit + + #define HARDWARE_MAX_WATTAGE_X10 180 + + #define POW_QC + #define POW_PD 0 + #define TEMP_TMP36 + #endif + + #ifdef MODEL_TS80P + #define VOLTAGE_DIV 650 // Default for TS80P with slightly different resistors + #define CALIBRATION_OFFSET 1500 // the adc offset in uV + #define PID_POWER_LIMIT 35 // Sets the max pwm power limit + #define POWER_LIMIT 30 // 30 watts default power limit + + #define HARDWARE_MAX_WATTAGE_X10 300 + + #define POW_PD 1 + #define POW_QC 1 + #define TEMP_NTC + #define I2C_SOFT + #define SC7_ORI_FLIP + #endif #endif -#define FLASH_LOGOADDR (0x08000000 + (62 * 1024)) \ No newline at end of file +#define FLASH_LOGOADDR (0x08000000 + (62 * 1024)) From bdced7cd05dc2d3602cdc79160ad41f182bd82a6 Mon Sep 17 00:00:00 2001 From: discip <53649486+discip@users.noreply.github.com> Date: Sat, 30 Apr 2022 01:09:14 +0200 Subject: [PATCH 4/4] Update Pins.h --- source/Core/BSP/Miniware/Pins.h | 184 +++++++++++++------------------- 1 file changed, 76 insertions(+), 108 deletions(-) diff --git a/source/Core/BSP/Miniware/Pins.h b/source/Core/BSP/Miniware/Pins.h index 079c904928..fd89dea3cf 100644 --- a/source/Core/BSP/Miniware/Pins.h +++ b/source/Core/BSP/Miniware/Pins.h @@ -6,119 +6,87 @@ */ #ifndef BSP_MINIWARE_PINS_H_ -#define BSP_MINIWARE_PINS_H_ -#include "configuration.h" + #define BSP_MINIWARE_PINS_H_ + #include "configuration.h" -#ifdef MODEL_TS100 + #ifdef MODEL_TS100 -#define KEY_B_Pin GPIO_PIN_6 -#define KEY_B_GPIO_Port GPIOA -#define TMP36_INPUT_Pin GPIO_PIN_7 -#define TMP36_INPUT_GPIO_Port GPIOA -#define TMP36_ADC1_CHANNEL ADC_CHANNEL_7 -#define TMP36_ADC2_CHANNEL ADC_CHANNEL_7 -#define TIP_TEMP_Pin GPIO_PIN_0 -#define TIP_TEMP_GPIO_Port GPIOB -#define TIP_TEMP_ADC1_CHANNEL ADC_CHANNEL_8 -#define TIP_TEMP_ADC2_CHANNEL ADC_CHANNEL_8 -#define VIN_Pin GPIO_PIN_1 -#define VIN_GPIO_Port GPIOB -#define VIN_ADC1_CHANNEL ADC_CHANNEL_9 -#define VIN_ADC2_CHANNEL ADC_CHANNEL_9 -#define OLED_RESET_Pin GPIO_PIN_8 -#define OLED_RESET_GPIO_Port GPIOA -#define KEY_A_Pin GPIO_PIN_9 -#define KEY_A_GPIO_Port GPIOA -#define INT_Orientation_Pin GPIO_PIN_3 -#define INT_Orientation_GPIO_Port GPIOB -#define PWM_Out_Pin GPIO_PIN_4 -#define PWM_Out_GPIO_Port GPIOB -#define PWM_Out_CHANNEL TIM_CHANNEL_1 -#define PWM_Out_CCR -#define INT_Movement_Pin GPIO_PIN_5 -#define INT_Movement_GPIO_Port GPIOB -#define SCL_Pin GPIO_PIN_6 -#define SCL_GPIO_Port GPIOB -#define SDA_Pin GPIO_PIN_7 -#define SDA_GPIO_Port GPIOB -#endif -#ifdef MODEL_TS80 -// TS80 pin map -#define KEY_B_Pin GPIO_PIN_0 -#define KEY_B_GPIO_Port GPIOB -#define TMP36_INPUT_Pin GPIO_PIN_4 -#define TMP36_INPUT_GPIO_Port GPIOA -#define TMP36_ADC1_CHANNEL ADC_CHANNEL_4 -#define TMP36_ADC2_CHANNEL ADC_CHANNEL_4 -#define TIP_TEMP_Pin GPIO_PIN_3 -#define TIP_TEMP_GPIO_Port GPIOA -#define TIP_TEMP_ADC1_CHANNEL ADC_CHANNEL_3 -#define TIP_TEMP_ADC2_CHANNEL ADC_CHANNEL_3 + #define KEY_B_Pin GPIO_PIN_6 + #define KEY_B_GPIO_Port GPIOA + #define TMP36_INPUT_Pin GPIO_PIN_7 + #define TMP36_INPUT_GPIO_Port GPIOA + #define TMP36_ADC1_CHANNEL ADC_CHANNEL_7 + #define TMP36_ADC2_CHANNEL ADC_CHANNEL_7 + #define TIP_TEMP_Pin GPIO_PIN_0 + #define TIP_TEMP_GPIO_Port GPIOB + #define TIP_TEMP_ADC1_CHANNEL ADC_CHANNEL_8 + #define TIP_TEMP_ADC2_CHANNEL ADC_CHANNEL_8 + #define VIN_Pin GPIO_PIN_1 + #define VIN_GPIO_Port GPIOB + #define VIN_ADC1_CHANNEL ADC_CHANNEL_9 + #define VIN_ADC2_CHANNEL ADC_CHANNEL_9 + #define OLED_RESET_Pin GPIO_PIN_8 + #define OLED_RESET_GPIO_Port GPIOA + #define KEY_A_Pin GPIO_PIN_9 + #define KEY_A_GPIO_Port GPIOA + #define INT_Orientation_Pin GPIO_PIN_3 + #define INT_Orientation_GPIO_Port GPIOB + #define PWM_Out_Pin GPIO_PIN_4 + #define PWM_Out_GPIO_Port GPIOB + #define PWM_Out_CHANNEL TIM_CHANNEL_1 + #define PWM_Out_CCR + #define INT_Movement_Pin GPIO_PIN_5 + #define INT_Movement_GPIO_Port GPIOB + #define SCL_Pin GPIO_PIN_6 + #define SCL_GPIO_Port GPIOB + #define SDA_Pin GPIO_PIN_7 + #define SDA_GPIO_Port GPIOB + #endif -#define VIN_Pin GPIO_PIN_2 -#define VIN_GPIO_Port GPIOA -#define VIN_ADC1_CHANNEL ADC_CHANNEL_2 -#define VIN_ADC2_CHANNEL ADC_CHANNEL_2 -#define OLED_RESET_Pin GPIO_PIN_15 -#define OLED_RESET_GPIO_Port GPIOA -#define KEY_A_Pin GPIO_PIN_1 -#define KEY_A_GPIO_Port GPIOB -#define INT_Orientation_Pin GPIO_PIN_4 -#define INT_Orientation_GPIO_Port GPIOB -#define PWM_Out_Pin GPIO_PIN_6 -#define PWM_Out_GPIO_Port GPIOA -#define PWM_Out_CHANNEL TIM_CHANNEL_1 -#define INT_Movement_Pin GPIO_PIN_5 -#define INT_Movement_GPIO_Port GPIOB -#define SCL_Pin GPIO_PIN_6 -#define SCL_GPIO_Port GPIOB -#define SDA_Pin GPIO_PIN_7 -#define SDA_GPIO_Port GPIOB -#define SCL2_Pin GPIO_PIN_5 -#define SCL2_GPIO_Port GPIOA -#define SDA2_Pin GPIO_PIN_1 -#define SDA2_GPIO_Port GPIOA + #if defined(MODEL_TS80) + defined(MODEL_TS80P) > 0 + // TS80 & TS80P pin map + #define KEY_B_Pin GPIO_PIN_0 + #define KEY_B_GPIO_Port GPIOB + #define TMP36_INPUT_Pin GPIO_PIN_4 + #define TMP36_INPUT_GPIO_Port GPIOA + #define TMP36_ADC1_CHANNEL ADC_CHANNEL_4 + #define TMP36_ADC2_CHANNEL ADC_CHANNEL_4 + #define TIP_TEMP_Pin GPIO_PIN_3 + #define TIP_TEMP_GPIO_Port GPIOA + #define TIP_TEMP_ADC1_CHANNEL ADC_CHANNEL_3 + #define TIP_TEMP_ADC2_CHANNEL ADC_CHANNEL_3 -#endif -#ifdef MODEL_TS80P -// TS80P pin map -#define KEY_B_Pin GPIO_PIN_0 -#define KEY_B_GPIO_Port GPIOB -#define TMP36_INPUT_Pin GPIO_PIN_4 -#define TMP36_INPUT_GPIO_Port GPIOA -#define TMP36_ADC1_CHANNEL ADC_CHANNEL_4 -#define TMP36_ADC2_CHANNEL ADC_CHANNEL_4 -#define TIP_TEMP_Pin GPIO_PIN_3 -#define TIP_TEMP_GPIO_Port GPIOA -#define TIP_TEMP_ADC1_CHANNEL ADC_CHANNEL_3 -#define TIP_TEMP_ADC2_CHANNEL ADC_CHANNEL_3 + #define VIN_Pin GPIO_PIN_2 + #define VIN_GPIO_Port GPIOA + #define VIN_ADC1_CHANNEL ADC_CHANNEL_2 + #define VIN_ADC2_CHANNEL ADC_CHANNEL_2 + #define OLED_RESET_Pin GPIO_PIN_15 + #define OLED_RESET_GPIO_Port GPIOA + #define KEY_A_Pin GPIO_PIN_1 + #define KEY_A_GPIO_Port GPIOB + #define INT_Orientation_Pin GPIO_PIN_4 + #define INT_Orientation_GPIO_Port GPIOB + #define PWM_Out_Pin GPIO_PIN_6 + #define PWM_Out_GPIO_Port GPIOA + #define PWM_Out_CHANNEL TIM_CHANNEL_1 + #define INT_Movement_Pin GPIO_PIN_5 + #define INT_Movement_GPIO_Port GPIOB + #define SCL_Pin GPIO_PIN_6 + #define SCL_GPIO_Port GPIOB + #define SDA_Pin GPIO_PIN_7 + #define SDA_GPIO_Port GPIOB + #define SCL2_Pin GPIO_PIN_5 + #define SCL2_GPIO_Port GPIOA + #define SDA2_Pin GPIO_PIN_1 + #define SDA2_GPIO_Port GPIOA -#define VIN_Pin GPIO_PIN_2 -#define VIN_GPIO_Port GPIOA -#define VIN_ADC1_CHANNEL ADC_CHANNEL_2 -#define VIN_ADC2_CHANNEL ADC_CHANNEL_2 -#define OLED_RESET_Pin GPIO_PIN_15 -#define OLED_RESET_GPIO_Port GPIOA -#define KEY_A_Pin GPIO_PIN_1 -#define KEY_A_GPIO_Port GPIOB -#define INT_Orientation_Pin GPIO_PIN_4 -#define INT_Orientation_GPIO_Port GPIOB -#define PWM_Out_Pin GPIO_PIN_6 -#define PWM_Out_GPIO_Port GPIOA -#define PWM_Out_CHANNEL TIM_CHANNEL_1 -#define INT_Movement_Pin GPIO_PIN_5 -#define INT_Movement_GPIO_Port GPIOB -#define SCL_Pin GPIO_PIN_6 -#define SCL_GPIO_Port GPIOB -#define SDA_Pin GPIO_PIN_7 -#define SDA_GPIO_Port GPIOB -#define SCL2_Pin GPIO_PIN_5 -#define SCL2_GPIO_Port GPIOA -#define SDA2_Pin GPIO_PIN_1 -#define SDA2_GPIO_Port GPIOA -#define INT_PD_Pin GPIO_PIN_9 -#define INT_PD_GPIO_Port GPIOA + #endif -#endif + #ifdef MODEL_TS80P + // TS80P pin map + #define INT_PD_Pin GPIO_PIN_9 + #define INT_PD_GPIO_Port GPIOA + + #endif #endif /* BSP_MINIWARE_PINS_H_ */