Merge branch 'master' into patch-3

This commit is contained in:
Ben V. Brown
2022-05-18 11:29:12 +10:00
committed by GitHub
6 changed files with 445 additions and 325 deletions

View File

@@ -133,6 +133,30 @@ dfu-util -D Pinecil_EN.dfu -a 0
- Switch to a different PC/Laptop and use different ports. USB-C ports are recommended but some have also reported having a fussy C port. - Switch to a different PC/Laptop and use different ports. USB-C ports are recommended but some have also reported having a fussy C port.
- Hold down the (-) button for the entire firmware update, do not release until near the end. - Hold down the (-) button for the entire firmware update, do not release until near the end.
- `DC Low` message: a pc/laptop cannot fully power Pinecil, it generally can only get 5 V (non-PD) to communicate for firmware updates and Pinecil will report 'DC Low'. This is normal. - `DC Low` message: a pc/laptop cannot fully power Pinecil, it generally can only get 5 V (non-PD) to communicate for firmware updates and Pinecil will report 'DC Low'. This is normal.
- If `dfu-util` aborts with an error like
```
dfu-util: Cannot open DFU device 28e9:0189 found on devnum 42 (LIBUSB_ERROR_IO)
```
and `dmesg` reports USB errors like these
```
kernel: usb 1-1: reset full-speed USB device number 42 using xhci_hcd
kernel: usb 1-1: device descriptor read/64, error -71
kernel: usb 1-1: device descriptor read/64, error -71
kernel: usb 1-1: reset full-speed USB device number 42 using xhci_hcd
kernel: usb 1-1: device descriptor read/64, error -71
kernel: usb 1-1: device descriptor read/64, error -71
kernel: usb 1-1: reset full-speed USB device number 42 using xhci_hcd
kernel: usb 1-1: Device not responding to setup address.
kernel: usb 1-1: Device not responding to setup address.
kernel: usb 1-1: device not accepting address 42, error -71
```
then try to disable USB autosuspend.
This can be done with a set of udev rules specifically for the Pinecil:
```udev
SUBSYSTEM=="usb", ATTR{idVendor}=="28e9", ATTR{idProduct}=="0189", MODE:="0660"
SUBSYSTEM=="usb", ATTR{idVendor}=="28e9", ATTR{idProduct}=="0189", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="28e9", ATTR{idProduct}=="0189", TEST=="power/control", ATTR{power/control}="on"
```
## Windows ## Windows

View File

@@ -109,7 +109,7 @@
}, },
"CooldownBlink": { "CooldownBlink": {
"text2": ["Мігценне t°", "пры астуджэнні"], "text2": ["Мігценне t°", "пры астуджэнні"],
"desc": "Міргаць тэмпературай на экране астуджэння, пакуль джага яшчэ гарачае" "desc": "Міргаць тэмпературай на экране астуджэння, пакуль джала яшчэ гарачае"
}, },
"TemperatureCalibration": { "TemperatureCalibration": {
"text2": ["Каліброўка", "тэмпературы"], "text2": ["Каліброўка", "тэмпературы"],
@@ -157,7 +157,7 @@
}, },
"PowerPulsePower": { "PowerPulsePower": {
"text2": ["Сіла імп.", "сілкав. Вт"], "text2": ["Сіла імп.", "сілкав. Вт"],
"desc": "Сіла імпульса щтрымливаючага ад сну павербанку ці іншай крыніцы сілкавання" "desc": "Сіла імпульса ўтрымливаючага ад сну павербанку ці іншай крыніцы сілкавання"
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"text2": ["Эфект Хола", "адчувальнасць"], "text2": ["Эфект Хола", "адчувальнасць"],
@@ -177,7 +177,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"text2": ["Хуткасць", "анімацыі"], "text2": ["Хуткасць", "анімацыі"],
"desc": "Хуткасць анімацыі гузікаў у галоўным меню (Мілісекунды) (А=Адключана | Н=Нізкі | С=Сярэдні | В=Высокі)" "desc": "Хуткасць анімацыі гузікаў у галоўным меню (Мілісекунды) (А=Адключана | Н=Нізкая | С=Сярэдняя | В=Высокая)"
}, },
"PowerPulseWait": { "PowerPulseWait": {
"text2": ["Імпульс магутнасці", "час чакання"], "text2": ["Імпульс магутнасці", "час чакання"],
@@ -201,7 +201,7 @@
}, },
"LOGOTime": { "LOGOTime": {
"text2": ["Лагатып загрузкі", "працягласць"], "text2": ["Лагатып загрузкі", "працягласць"],
"desc": "Усталяваць працягласць лагатыпа загрузки (s=Секунды)" "desc": "Усталяваць працягласць лагатыпа загрузкі (s=Секунды)"
} }
} }
} }

View File

@@ -1,207 +1,339 @@
{ {
"languageCode": "CS", "languageCode": "CS",
"languageLocalName": "Český", "languageLocalName": "Český",
"fonts": ["ascii_basic", "latin_extended"], "fonts": [
"tempUnitFahrenheit": false, "ascii_basic",
"messages": { "latin_extended"
"SettingsCalibrationWarning": "Ujistěte se, že hrot má pokojovou teplotu!", ],
"SettingsResetWarning": "Opravdu chcete resetovat zařízení do továrního nastavení?", "tempUnitFahrenheit": false,
"UVLOWarningString": "Nízké DC", "messages": {
"UndervoltageString": "! Nízké napětí !", "SettingsCalibrationWarning": "Ujistěte se, že hrot má pokojovou teplotu!",
"InputVoltageString": "Napětí: ", "SettingsResetWarning": "Opravdu chcete resetovat zařízení do továrního nastavení?",
"SleepingSimpleString": "Zzz ", "UVLOWarningString": "Nízké DC",
"SleepingAdvancedString": "Režim spánku...", "UndervoltageString": "Nízké napětí",
"SleepingTipAdvancedString": "Hrot:", "InputVoltageString": "Napětí: ",
"OffString": "Vyp" "SleepingSimpleString": "Zzz ",
}, "SleepingAdvancedString": "Režim spánku...",
"messagesWarn": { "SleepingTipAdvancedString": "Hrot:",
"ResetOKMessage": "Reset OK", "OffString": "Vyp"
"SettingsResetMessage": ["Tov. nas. obnov.", ""], },
"NoAccelerometerMessage": ["No accelerometer", "detected!"], "messagesWarn": {
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"], "ResetOKMessage": "Reset OK",
"LockingKeysString": "LOCKED", "SettingsResetMessage": [
"UnlockingKeysString": "UNLOCKED", "Nějaká nastavení",
"WarningKeysLockedString": "!LOCKED!", "byla změněna!"
"WarningThermalRunaway": ["Thermal", "Runaway"] ],
}, "NoAccelerometerMessage": [
"characters": { "Akcelerometr",
"SettingRightChar": "P", "nebyl detekován!"
"SettingLeftChar": "L", ],
"SettingAutoChar": "A", "NoPowerDeliveryMessage": [
"SettingOffChar": "O", "Žádný IO USB-PD",
"SettingSlowChar": "P", "nebyl detekován!"
"SettingMediumChar": "M", ],
"SettingFastChar": "R", "LockingKeysString": "ZAMČENO",
"SettingStartNoneChar": "O", "UnlockingKeysString": "ODEMČENO",
"SettingStartSolderingChar": "P", "WarningKeysLockedString": "ZAMČENO!",
"SettingStartSleepChar": "S", "WarningThermalRunaway": [
"SettingStartSleepOffChar": "M", "Teplotní",
"SettingSensitivityOff": "O", "Ochrana"
"SettingSensitivityLow": "L", ]
"SettingSensitivityMedium": "M", },
"SettingSensitivityHigh": "H", "characters": {
"SettingLockDisableChar": "D", "SettingRightChar": "P",
"SettingLockBoostChar": "B", "SettingLeftChar": "L",
"SettingLockFullChar": "F" "SettingAutoChar": "A",
}, "SettingOffChar": "D",
"menuGroups": { "SettingSlowChar": "P",
"PowerMenu": { "SettingMediumChar": "S",
"text2": ["Power", "settings"], "SettingFastChar": "R",
"desc": "Power settings" "SettingStartNoneChar": "V",
}, "SettingStartSolderingChar": "P",
"SolderingMenu": { "SettingStartSleepChar": "S",
"text2": ["Pájecí", "nastavení"], "SettingStartSleepOffChar": "M",
"desc": "Nastavení pájení (boost, auto start...)." "SettingSensitivityOff": "O",
}, "SettingSensitivityLow": "M",
"PowerSavingMenu": { "SettingSensitivityMedium": "S",
"text2": ["Režim", "spánku"], "SettingSensitivityHigh": "V",
"desc": "Nastavení režimu spánku, automatického vypnutí..." "SettingLockDisableChar": "Z",
}, "SettingLockBoostChar": "B",
"UIMenu": { "SettingLockFullChar": "U"
"text2": ["Uživatelské", "rozhraní"], },
"desc": "Nastavení uživatelského rozhraní." "menuGroups": {
}, "PowerMenu": {
"AdvancedMenu": { "text2": [
"text2": ["Pokročilé", "volby"], "Napájecí",
"desc": "Pokročilé volby (detailní obrazovky, kalibrace, tovární nastavení...)." "nastavení"
} ],
}, "desc": "Nastavení napájení"
"menuOptions": { },
"DCInCutoff": { "SolderingMenu": {
"text2": ["Zdroj", "napájení"], "text2": [
"desc": "Při nižším napětí ukončí pájení (DC=10V | ?S=?x3,3V pro LiPo, LiIon...)." "Pájecí",
}, "nastavení"
"SleepTemperature": { ],
"text2": ["Teplota v", "r. spánku"], "desc": "Nastavení pájení"
"desc": "Teplota v režimu spánku." },
}, "PowerSavingMenu": {
"SleepTimeout": { "text2": [
"text2": ["Čas do", "r. spánku"], "Režim",
"desc": "Čas do režimu spánku (Minut | Sekund)." "spánku"
}, ],
"ShutdownTimeout": { "desc": "Nastavení úspory energie"
"text2": ["Čas do", "vypnutí"], },
"desc": "Čas do automatického vypnutí (Minut)." "UIMenu": {
}, "text2": [
"MotionSensitivity": { "Uživatelské",
"text2": ["Citlivost", "det. pohybu"], "rozhraní"
"desc": "Citlivost detekce pohybu (0=Vyp | 1=Min | ... | 9=Max)." ],
}, "desc": "Nastavení uživatelského rozhraní"
"TemperatureUnit": { },
"text2": ["Jednotky", "teploty"], "AdvancedMenu": {
"desc": "Jednotky měření teploty (C=Celsius | F=Fahrenheit)." "text2": [
}, "Pokročilá",
"AdvancedIdle": { "nastavení"
"text2": ["Podrobnosti", "na vých. obr."], ],
"desc": "Zobrazit podrobnosti na výchozí obrazovce?" "desc": "Pokročilá nastavení"
}, }
"DisplayRotation": { },
"text2": ["Orientace", "obrazovky"], "menuOptions": {
"desc": "Orientace obrazovky (P=Pravák | L=Levák | A=Auto)." "DCInCutoff": {
}, "text2": [
"BoostTemperature": { "Zdroj",
"text2": ["Teplota v", "r. boost"], "napájení"
"desc": "Teplota v režimu boost." ],
}, "desc": "Při nižším napětí ukončit pájení (DC 10V) (S 3,3V na článek, zakázat omezení napájení)."
"AutoStart": { },
"text2": ["Automatický", "start"], "SleepTemperature": {
"desc": "Při startu ihned nahřát hrot? (O=Pryč | P=Pájení | S=Spát | M=Spát teplota místnosti)" "text2": [
}, "Teplota",
"CooldownBlink": { "ve spánku"
"text2": ["Blikáni při", "chladnutí"], ],
"desc": "Blikání teploty při chladnutí, dokud je hrot horký?" "desc": "Teplota hrotu v režimu spánku."
}, },
"TemperatureCalibration": { "SleepTimeout": {
"text2": ["Kalibrovat", "teplotu?"], "text2": [
"desc": "Kalibrace měření teploty." "Čas",
}, "do spánku"
"SettingsReset": { ],
"text2": ["Tovární", "nastavení?"], "desc": "\"Režim spánku\" naběhne v (s=sekundách | m=minutách)"
"desc": "Obnovení továrního nastavení." },
}, "ShutdownTimeout": {
"VoltageCalibration": { "text2": [
"text2": ["Kalibrovat", "vstupní napětí?"], "Čas do",
"desc": "Kalibrace vstupního napětí. Tlačítky uprav, podržením potvrď." "vypnutí"
}, ],
"AdvancedSoldering": { "desc": "Interval automatického vypnutí (m=minut)"
"text2": ["Podrobnosti", "při pájení"], },
"desc": "Zobrazit podrobnosti při pájení?" "MotionSensitivity": {
}, "text2": [
"ScrollingSpeed": { "Citlivost",
"text2": ["Rychlost", "popisků"], "na pohyb"
"desc": "Rychlost posuvu popisků podobných tomuto (P=Pomalu | R=Rychle)" ],
}, "desc": "0=vyp | 1=nejméně citlivé | ... | 9=nejvíce citlivé"
"QCMaxVoltage": { },
"text2": ["Výkon", "ve wattech"], "TemperatureUnit": {
"desc": "Výkon použítého napájecího adaptéru ve wattech." "text2": [
}, "Jednotka",
"PDNegTimeout": { "teploty"
"text2": ["PD", "timeout"], ],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)" "desc": "C=Celsius | F=Fahrenheit"
}, },
"PowerLimit": { "AdvancedIdle": {
"text2": ["Omezení", "Výkonu"], "text2": [
"desc": "Maximální příkon (Watty)" "Podrobná obr.",
}, "nečinnosti"
"ReverseButtonTempChange": { ],
"text2": ["Prohodit", "tl. +-?"], "desc": "Zobrazit detailní informace malým fontem na obrazovce nečinnosti"
"desc": "Prohodí tlačítka plus a minus pro změnu teploty hrotu." },
}, "DisplayRotation": {
"TempChangeShortStep": { "text2": [
"text2": ["Krok teploty", "krátký?"], "Orientace",
"desc": "Velikost skoku při změně teploty krátkým stiskem tlačítka!" "obrazovky"
}, ],
"TempChangeLongStep": { "desc": "P=pravák | L=levák | A=automaticky"
"text2": ["Krok teploty", "dlouhý?"], },
"desc": "Velikost skoku při změně teploty dlouhým stiskem tlačítka!" "BoostTemperature": {
}, "text2": [
"PowerPulsePower": { "Teplota",
"text2": ["Intenzita", "Výkon. pulsu"], "boostu"
"desc": "Puls pro udržení zařízení v chodu (kvůli power bankám)." ],
}, "desc": "Teplota hrotu v \"režimu boost\""
"HallEffSensitivity": { },
"text2": ["Hall sensor", "sensitivity"], "AutoStart": {
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=Vyp | 1=Min | ... | 9=Max)" "text2": [
}, "Chování",
"LockingMode": { "při startu"
"text2": ["Allow locking", "buttons"], ],
"desc": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)" "desc": "V=vypnuto | P=pájecí teplota | S=spánková teplota | M=zahřát hrot po pohybu"
}, },
"MinVolCell": { "CooldownBlink": {
"text2": ["Minimum", "voltage"], "text2": [
"desc": "Minimum allowed voltage per cell (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)" "Blikáni při",
}, "chladnutí"
"AnimLoop": { ],
"text2": ["Anim.", "loop"], "desc": "Blikat teplotou při chladnutí dokud je hrot horký"
"desc": "Loop icon animations in main menu" },
}, "TemperatureCalibration": {
"AnimSpeed": { "text2": [
"text2": ["Anim.", "speed"], "Kalibrovat",
"desc": "Pace of icon animations in menu (O=off | P=slow | M=medium | R=fast)" "teplotu?"
}, ],
"PowerPulseWait": { "desc": "Začít kalibraci měření teploty hrotu"
"text2": ["Power pulse", "delay"], },
"desc": "Delay before keep-awake-pulse is triggered (x 2,5s)" "SettingsReset": {
}, "text2": [
"PowerPulseDuration": { "Obnovit tovární",
"text2": ["Power pulse", "duration"], "nastavení?"
"desc": "Keep-awake-pulse duration (x 250ms)" ],
}, "desc": "Obnovit všechna nastavení na výchozí"
"LanguageSwitch": { },
"text2": ["Řeč:", " CS Český"], "VoltageCalibration": {
"desc": "" "text2": [
}, "Kalibrovat",
"Brightness": { "vstupní napětí?"
"text2": ["Screen", "brightness"], ],
"desc": "Adjust the brightness of the OLED screen" "desc": "Začít kalibraci vstupního napětí (dlouhý stisk pro ukončení)"
}, },
"ColourInversion": { "AdvancedSoldering": {
"text2": ["Invert", "screen"], "text2": [
"desc": "Invert the colours of the OLED screen" "Podrobná obr.",
}, "pájení"
"LOGOTime": { ],
"text2": ["Boot logo", "duration"], "desc": "Zobrazit detailní informace malým fontem na obrazovce pájení"
"desc": "Sets the duration for the boot logo (s=seconds)" },
} "ScrollingSpeed": {
} "text2": [
} "Rychlost",
"posouvání"
],
"desc": "Rychlost posouvání popisků podobných tomuto (P=pomalu | R=rychle)"
},
"QCMaxVoltage": {
"text2": [
"Napětí",
"QC"
],
"desc": "Maximální napětí QC pro jednání páječkou"
},
"PDNegTimeout": {
"text2": [
"PD",
"timeout"
],
"desc": "Maximální prodleva při jednání PD ve 100ms krocích pro kompatibilitu s některými QC nabíječkami"
},
"PowerLimit": {
"text2": [
"Omezení",
"Výkonu"
],
"desc": "Maximální příkon páječky (W=watt)"
},
"ReverseButtonTempChange": {
"text2": [
"Prohodit",
"tl. +-?"
],
"desc": "Prohodit tlačítka pro změnu teploty"
},
"TempChangeShortStep": {
"text2": [
"Krok teploty",
"krátký?"
],
"desc": "Velikost přídavku při změně teploty krátkým stiskem tlačítka"
},
"TempChangeLongStep": {
"text2": [
"Krok teploty",
"dlouhý?"
],
"desc": "Velikost přídavku při změně teploty dlouhým stiskem tlačítka"
},
"PowerPulsePower": {
"text2": [
"Napájecí",
"pulz"
],
"desc": "Intenzita výkonu pulzu pro udržení páječky vzhůru (watt)"
},
"HallEffSensitivity": {
"text2": [
"Citlivost",
"Hall. čidla"
],
"desc": "Citlivost Hallova čidla pro detekci spánku (0=vypnuto | 1=nejméně citlivé | ... | 9=nejvíce citlivé)"
},
"LockingMode": {
"text2": [
"Povolit zamč.",
"tlačítek"
],
"desc": "Při pájení podržte obě tlačítka pro jejich zamčení (Z=zakázáno | B=pouze v režimu boost | U=úplné zamčení)"
},
"MinVolCell": {
"text2": [
"Minimální",
"napětí"
],
"desc": "Minimální dovolené napětí po článku (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)"
},
"AnimLoop": {
"text2": [
"Anim.",
"smyčka"
],
"desc": "Animovat ikony hlavního menu ve smyčce"
},
"AnimSpeed": {
"text2": [
"Anim.",
"rychlost"
],
"desc": "Tempo animace ikon v menu (O=vypnuto | P=pomalu | S=středně | R=rychle)"
},
"PowerPulseWait": {
"text2": [
"Prodleva",
"napáj. pulzu"
],
"desc": "Prodleva než je spuštěn pulz pro udržení páječky vzhůru pulzu pro udržení páječky vzhůru (x 2,5s)"
},
"PowerPulseDuration": {
"text2": [
"Délka",
"napáj. pulzu"
],
"desc": "Délka pulzu pro udržení páječky vzhůru (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Jazyk:",
" CS Český"
],
"desc": "Současný jazyk firmwaru"
},
"Brightness": {
"text2": [
"Jas",
"obrazovky"
],
"desc": "Upravit jas OLED"
},
"ColourInversion": {
"text2": [
"Invertovat",
"obrazovku"
],
"desc": "Invertovat barvy na OLED"
},
"LOGOTime": {
"text2": [
"Trvání",
"boot loga"
],
"desc": "Nastavení doby trvání boot loga (s=sekundy)"
}
}
}

View File

@@ -6,119 +6,87 @@
*/ */
#ifndef BSP_MINIWARE_PINS_H_ #ifndef BSP_MINIWARE_PINS_H_
#define BSP_MINIWARE_PINS_H_ #define BSP_MINIWARE_PINS_H_
#include "configuration.h" #include "configuration.h"
#ifdef MODEL_TS100 #ifdef MODEL_TS100
#define KEY_B_Pin GPIO_PIN_6 #define KEY_B_Pin GPIO_PIN_6
#define KEY_B_GPIO_Port GPIOA #define KEY_B_GPIO_Port GPIOA
#define TMP36_INPUT_Pin GPIO_PIN_7 #define TMP36_INPUT_Pin GPIO_PIN_7
#define TMP36_INPUT_GPIO_Port GPIOA #define TMP36_INPUT_GPIO_Port GPIOA
#define TMP36_ADC1_CHANNEL ADC_CHANNEL_7 #define TMP36_ADC1_CHANNEL ADC_CHANNEL_7
#define TMP36_ADC2_CHANNEL ADC_CHANNEL_7 #define TMP36_ADC2_CHANNEL ADC_CHANNEL_7
#define TIP_TEMP_Pin GPIO_PIN_0 #define TIP_TEMP_Pin GPIO_PIN_0
#define TIP_TEMP_GPIO_Port GPIOB #define TIP_TEMP_GPIO_Port GPIOB
#define TIP_TEMP_ADC1_CHANNEL ADC_CHANNEL_8 #define TIP_TEMP_ADC1_CHANNEL ADC_CHANNEL_8
#define TIP_TEMP_ADC2_CHANNEL ADC_CHANNEL_8 #define TIP_TEMP_ADC2_CHANNEL ADC_CHANNEL_8
#define VIN_Pin GPIO_PIN_1 #define VIN_Pin GPIO_PIN_1
#define VIN_GPIO_Port GPIOB #define VIN_GPIO_Port GPIOB
#define VIN_ADC1_CHANNEL ADC_CHANNEL_9 #define VIN_ADC1_CHANNEL ADC_CHANNEL_9
#define VIN_ADC2_CHANNEL ADC_CHANNEL_9 #define VIN_ADC2_CHANNEL ADC_CHANNEL_9
#define OLED_RESET_Pin GPIO_PIN_8 #define OLED_RESET_Pin GPIO_PIN_8
#define OLED_RESET_GPIO_Port GPIOA #define OLED_RESET_GPIO_Port GPIOA
#define KEY_A_Pin GPIO_PIN_9 #define KEY_A_Pin GPIO_PIN_9
#define KEY_A_GPIO_Port GPIOA #define KEY_A_GPIO_Port GPIOA
#define INT_Orientation_Pin GPIO_PIN_3 #define INT_Orientation_Pin GPIO_PIN_3
#define INT_Orientation_GPIO_Port GPIOB #define INT_Orientation_GPIO_Port GPIOB
#define PWM_Out_Pin GPIO_PIN_4 #define PWM_Out_Pin GPIO_PIN_4
#define PWM_Out_GPIO_Port GPIOB #define PWM_Out_GPIO_Port GPIOB
#define PWM_Out_CHANNEL TIM_CHANNEL_1 #define PWM_Out_CHANNEL TIM_CHANNEL_1
#define PWM_Out_CCR #define PWM_Out_CCR
#define INT_Movement_Pin GPIO_PIN_5 #define INT_Movement_Pin GPIO_PIN_5
#define INT_Movement_GPIO_Port GPIOB #define INT_Movement_GPIO_Port GPIOB
#define SCL_Pin GPIO_PIN_6 #define SCL_Pin GPIO_PIN_6
#define SCL_GPIO_Port GPIOB #define SCL_GPIO_Port GPIOB
#define SDA_Pin GPIO_PIN_7 #define SDA_Pin GPIO_PIN_7
#define SDA_GPIO_Port GPIOB #define SDA_GPIO_Port GPIOB
#endif #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 VIN_Pin GPIO_PIN_2 #if defined(MODEL_TS80) + defined(MODEL_TS80P) > 0
#define VIN_GPIO_Port GPIOA // TS80 & TS80P pin map
#define VIN_ADC1_CHANNEL ADC_CHANNEL_2 #define KEY_B_Pin GPIO_PIN_0
#define VIN_ADC2_CHANNEL ADC_CHANNEL_2 #define KEY_B_GPIO_Port GPIOB
#define OLED_RESET_Pin GPIO_PIN_15 #define TMP36_INPUT_Pin GPIO_PIN_4
#define OLED_RESET_GPIO_Port GPIOA #define TMP36_INPUT_GPIO_Port GPIOA
#define KEY_A_Pin GPIO_PIN_1 #define TMP36_ADC1_CHANNEL ADC_CHANNEL_4
#define KEY_A_GPIO_Port GPIOB #define TMP36_ADC2_CHANNEL ADC_CHANNEL_4
#define INT_Orientation_Pin GPIO_PIN_4 #define TIP_TEMP_Pin GPIO_PIN_3
#define INT_Orientation_GPIO_Port GPIOB #define TIP_TEMP_GPIO_Port GPIOA
#define PWM_Out_Pin GPIO_PIN_6 #define TIP_TEMP_ADC1_CHANNEL ADC_CHANNEL_3
#define PWM_Out_GPIO_Port GPIOA #define TIP_TEMP_ADC2_CHANNEL ADC_CHANNEL_3
#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
#endif #define VIN_Pin GPIO_PIN_2
#ifdef MODEL_TS80P #define VIN_GPIO_Port GPIOA
// TS80P pin map #define VIN_ADC1_CHANNEL ADC_CHANNEL_2
#define KEY_B_Pin GPIO_PIN_0 #define VIN_ADC2_CHANNEL ADC_CHANNEL_2
#define KEY_B_GPIO_Port GPIOB #define OLED_RESET_Pin GPIO_PIN_15
#define TMP36_INPUT_Pin GPIO_PIN_4 #define OLED_RESET_GPIO_Port GPIOA
#define TMP36_INPUT_GPIO_Port GPIOA #define KEY_A_Pin GPIO_PIN_1
#define TMP36_ADC1_CHANNEL ADC_CHANNEL_4 #define KEY_A_GPIO_Port GPIOB
#define TMP36_ADC2_CHANNEL ADC_CHANNEL_4 #define INT_Orientation_Pin GPIO_PIN_4
#define TIP_TEMP_Pin GPIO_PIN_3 #define INT_Orientation_GPIO_Port GPIOB
#define TIP_TEMP_GPIO_Port GPIOA #define PWM_Out_Pin GPIO_PIN_6
#define TIP_TEMP_ADC1_CHANNEL ADC_CHANNEL_3 #define PWM_Out_GPIO_Port GPIOA
#define TIP_TEMP_ADC2_CHANNEL ADC_CHANNEL_3 #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 #endif
#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 #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_ */ #endif /* BSP_MINIWARE_PINS_H_ */

View File

@@ -22,11 +22,7 @@ void power_check() {
} }
bool getIsPoweredByDCIN() { bool getIsPoweredByDCIN() {
#ifdef MODEL_TS80 #if defined(MODEL_TS80) + defined(MODEL_TS80P) > 0
return false;
#endif
#ifdef MODEL_TS80P
return false; return false;
#endif #endif

View File

@@ -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, 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}; 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[] = { const uint8_t buttonA[] = {
// width = 42 // width = 42
// height = 16 // 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}; 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 #endif
#if defined(MODEL_TS80) + defined(MODEL_TS80P) >= 1 #if defined(MODEL_TS80) + defined(MODEL_TS80P) > 0
const uint8_t buttonA[] = { const uint8_t buttonA[] = {
// width = 42 // width = 42
// height = 16 // height = 16