mirror of
https://github.com/Ralim/IronOS.git
synced 2025-02-26 07:53:55 +00:00
@@ -40,4 +40,35 @@
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef MODEL_S60P
|
||||
|
||||
#define KEY_B_Pin GPIO_PIN_1
|
||||
#define KEY_B_GPIO_Port GPIOB
|
||||
#define TMP36_INPUT_Pin GPIO_PIN_5
|
||||
#define TMP36_INPUT_GPIO_Port GPIOA
|
||||
#define TMP36_ADC1_CHANNEL ADC_CHANNEL_5
|
||||
#define TMP36_ADC2_CHANNEL ADC_CHANNEL_5
|
||||
#define TIP_TEMP_Pin GPIO_PIN_0
|
||||
#define TIP_TEMP_GPIO_Port GPIOA
|
||||
#define TIP_TEMP_ADC1_CHANNEL ADC_CHANNEL_0
|
||||
#define TIP_TEMP_ADC2_CHANNEL ADC_CHANNEL_0
|
||||
#define VIN_Pin GPIO_PIN_4
|
||||
#define VIN_GPIO_Port GPIOA
|
||||
#define VIN_ADC1_CHANNEL ADC_CHANNEL_4
|
||||
#define VIN_ADC2_CHANNEL ADC_CHANNEL_4
|
||||
#define KEY_A_Pin GPIO_PIN_0
|
||||
#define KEY_A_GPIO_Port GPIOB
|
||||
#define PWM_Out_Pin GPIO_PIN_8
|
||||
#define PWM_Out_GPIO_Port GPIOB
|
||||
#define PWM_Out_CHANNEL TIM_CHANNEL_3 // Timer 4; channel 3
|
||||
#define SCL2_Pin GPIO_PIN_6
|
||||
#define SCL2_GPIO_Port GPIOB
|
||||
#define SDA2_Pin GPIO_PIN_7
|
||||
#define SDA2_GPIO_Port GPIOB
|
||||
// Pin gets pulled high on movement
|
||||
#define MOVEMENT_Pin GPIO_PIN_3
|
||||
#define MOVEMENT_GPIO_Port GPIOA
|
||||
|
||||
#endif
|
||||
#endif /* BSP_MINIWARE_PINS_H_ */
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
// Vin_max = (3.3*(r1+r2))/(r2)
|
||||
// vdiv = (32768*4)/(vin_max*10)
|
||||
|
||||
#if defined(MODEL_S60) == 0
|
||||
#if defined(MODEL_S60) + defined(MODEL_S60P) == 0
|
||||
#error "No model defined!"
|
||||
#endif
|
||||
|
||||
@@ -166,6 +166,37 @@
|
||||
#define MODEL_HAS_DCDC // We dont have DC/DC but have reallly fast PWM that gets us roughly the same place
|
||||
#endif /* S60 */
|
||||
|
||||
|
||||
#ifdef MODEL_S60P
|
||||
#define VOLTAGE_DIV 460 // Default divider scaler
|
||||
#define CALIBRATION_OFFSET 200 // 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 536
|
||||
#define TEMP_uV_LOOKUP_S60
|
||||
#define USB_PD_VMAX 12 // Maximum voltage for PD to negotiate
|
||||
|
||||
#define HARDWARE_MAX_WATTAGE_X10 600
|
||||
|
||||
#define TIP_THERMAL_MASS 8 // X10 watts to raise 1 deg C in 1 second
|
||||
#define TIP_THERMAL_INERTIA 128 // We use a large inertia value to smooth out the drive to the tip since its stupidly sensitive
|
||||
|
||||
#define TIP_RESISTANCE 20 //(actually 2.5 ish but we need to be more conservative on pwm'ing watt limit) x10 ohms
|
||||
|
||||
#define OLED_128x32
|
||||
#define GPIO_VIBRATION
|
||||
#define POW_PD_EXT 1
|
||||
#define USB_PD_EPR_WATTAGE 0 /*No EPR*/
|
||||
#define DEBUG_POWER_MENU_BUTTON_B 1
|
||||
#define HAS_POWER_DEBUG_MENU
|
||||
#define TEMP_NTC
|
||||
#define I2C_SOFT_BUS_2 // For now we are doing software I2C to get around hardware chip issues
|
||||
#define OLED_I2CBB2
|
||||
|
||||
#define MODEL_HAS_DCDC // We dont have DC/DC but have reallly fast PWM that gets us roughly the same place
|
||||
#endif /* S60P */
|
||||
#define FLASH_LOGOADDR (0x08000000 + (62 * 1024))
|
||||
#define SETTINGS_START_PAGE (0x08000000 + (63 * 1024))
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@ const uint8_t disconnectedTip[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
#endif
|
||||
|
||||
#if defined(MODEL_S60) > 0
|
||||
#if defined(MODEL_S60)+defined(MODEL_S60P) > 0
|
||||
const uint8_t buttonA[] = {
|
||||
// width = 42
|
||||
// height = 16
|
||||
|
||||
@@ -6,7 +6,7 @@ ALL_MINIWARE_MODELS=TS100 TS80 TS80P TS101
|
||||
ALL_PINECIL_MODELS=Pinecil
|
||||
ALL_PINECIL_V2_MODELS=Pinecilv2
|
||||
ALL_MHP30_MODELS=MHP30
|
||||
ALL_SEQURE_MODELS=S60
|
||||
ALL_SEQURE_MODELS=S60 S60P
|
||||
ALL_MODELS=$(ALL_MINIWARE_MODELS) $(ALL_PINECIL_MODELS) $(ALL_MHP30_MODELS) $(ALL_PINECIL_V2_MODELS) $(ALL_SEQURE_MODELS)
|
||||
|
||||
ifneq ($(model),$(filter $(model),$(ALL_MODELS)))
|
||||
@@ -142,8 +142,13 @@ CPUFLAGS=-mcpu=cortex-m3 \
|
||||
-mfloat-abi=soft
|
||||
|
||||
flash_size=62k
|
||||
ifeq ($(model),S60)
|
||||
bootldr_size=0x4400
|
||||
DEVICE_DFU_ADDRESS=0x08004400
|
||||
else
|
||||
bootldr_size=0x5000
|
||||
DEVICE_DFU_ADDRESS=0x08005000
|
||||
endif
|
||||
DEVICE_DFU_VID_PID=0x1209:0xDB42
|
||||
endif # ALL_SEQURE_MODELS
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ TRANSLATION_DIR="../Translations"
|
||||
# AVAILABLE_LANGUAGES will be calculating according to json files in $TRANSLATION_DIR
|
||||
AVAILABLE_LANGUAGES=()
|
||||
BUILD_LANGUAGES=()
|
||||
AVAILABLE_MODELS=("TS100" "TS80" "TS80P" "Pinecil" "MHP30" "Pinecilv2" "S60" "TS101")
|
||||
AVAILABLE_MODELS=("TS100" "TS80" "TS80P" "Pinecil" "MHP30" "Pinecilv2" "S60" "S60P" "TS101")
|
||||
BUILD_MODELS=()
|
||||
|
||||
builder_info() {
|
||||
@@ -47,8 +47,8 @@ INFO :
|
||||
exit 1
|
||||
}
|
||||
|
||||
StartBuild(){
|
||||
read -n 1 -r -s -p $'Press Enter to start the building process...\n'
|
||||
StartBuild() {
|
||||
read -n 1 -r -s -p $'Press Enter to start the building process...\n'
|
||||
}
|
||||
|
||||
checkLastCommand() {
|
||||
@@ -87,17 +87,17 @@ declare -a largs=()
|
||||
|
||||
while getopts "h:l:m:" option; do
|
||||
case "${option}" in
|
||||
h)
|
||||
usage
|
||||
;;
|
||||
l)
|
||||
IFS=' ' read -r -a largs <<< "${OPTARG}"
|
||||
;;
|
||||
m)
|
||||
IFS=' ' read -r -a margs <<< "${OPTARG}"
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
h)
|
||||
usage
|
||||
;;
|
||||
l)
|
||||
IFS=' ' read -r -a largs <<<"${OPTARG}"
|
||||
;;
|
||||
m)
|
||||
IFS=' ' read -r -a margs <<<"${OPTARG}"
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user