Wrong!
pinC is the protective ground + gnd
Pin B is heater +
Pin A is TC (Temperature sensor).
That means my board doesn’t support for jbc tips? Because pin4 is tired with gnd? Or what could I do to use jbc tips with my board?
Really appreciate your time to make this wonderful CFW. It makes the station go to another level
Thanks so much, I did it, now it works quite well with both jbc and t12. The tip temperature is really fast and steady. But with jbc245 it seems to be corrosive a lot
What do you mean by "corrosive"?
Hi.. i flashed the wrong firmware [HW2.1S]_[0.96OLED].hex, i flashing for new stm32 with blue phil board, i plan to install a new chip for my t12, but I don't think it will damage my new chip , currently the chip just wasn't detected with stlink in SWD mode, but the chip can still be read with uart, how do you restore it so that it can read SWD stlink again? i did the steps according to the instructions
https://github.com/deividAlfa/stm32_soldering_iron_controller/blob/master/Readme_files/Programming.md
Did you also try
this?
After detection, remove Level 1 protection and erase the chip as shown
here.
What do you mean by "corrosive"?
Oops, sorry my mistake. It should be oxidization, I have to sand the tip to use
Did you also try this?
After detection, remove Level 1 protection and erase the chip as shown here.
Hi, thank you, I missed wire up the RST PIN, I did the only jumper PIN7 to GND like capacitor jumper before, but I didn't do the PIN7 cable installation for the RST PIN on STLINK. thanks my STM32 is working again.
after compiling the firmware, the log shows a warning:
../Drivers/generalIO/adc_global.c:245:81: warning: expression does not compute the number of elements in this array; element type is 'adc_measures_t', not 'uint16_t' {aka 'short unsigned int'} [-Wsizeof-array-div]
245 | if(HAL_ADC_Start_DMA(adc_device, (uint32_t*)ADC_measures, sizeof(ADC_measures)/ sizeof(uint16_t) )!=HAL_OK){ // Start ADC conversion now
|
21:27:18 Build Finished. 0 errors, 1 warnings. (took 11s.811ms)
please help me what is the problem..
notes: firmware bin working despite getting a warning (1)
Have you modified anything? I have never seen that error.
A clean build on CubeIDE 1.12.1 shows "Build Finished. 0 errors, 0 warnings".
Anyways, it's perfectly fine.
typedef struct {
#ifdef ADC_1st
uint16_t ADC_1st;
#endif
#ifdef ADC_2nd
uint16_t ADC_2nd;
#endif
#ifdef ADC_3rd
uint16_t ADC_3rd;
#endif
#ifdef ADC_4th
uint16_t ADC_4th;
#endif
} adc_measures_t;
extern volatile adc_measures_t adc_measures[ADC_BFSIZ];
That code doesn't want to get the number of measures_tin adc_measures, but the total count of uint16_t it contains.
Have you modified anything? I have never seen that error.
I haven't changed any of the original code, I just learned to compile the cube ide, keeping the original chip, then I bought a new chip to program. there is currently no change in the code, I use the bat building script by selecting [3] ksger v2
the file compiles without error, there is only 1 warning like the log that I informed you before, I uploaded the bin file to stm32 and it turns on (I haven't attached it to the soldering board yet) this is still done with the bluepill board and by installing i2c oled 0.96
idecube version 1.13.0
then the second problem, I want to change i2c oled to pin
i2c hardware mod.jpg then I enable I2C_TRY_HW on board.h, but I found a lot of errors, I'm very new to microcontrollers, which other parts to change I don't know.
change:
//#define DISPLAY_SPI // SPI display
#define DISPLAY_I2C // I2C display
#define I2C_TRY_HW // Try I2C HW first, use I2C SW if not detected
#define DISPLAY_ADDRESS (0x3c<<1) // Only used for I2C
//#define DISPLAY_DEVICE hi2c2 // SPI / I2C handler if used. Enables HW mode, otherwise SW mode is used
#define FILL_DMA hdma_memtomem_dma1_channel2 // DMA mem2mem for filling
//#define USE_RST // Reset pin is used
//#define USE_DC // DC pin is used
//#define USE_CS // CS pin is used
#define DISPLAY_OFFSET 0 // Display offset
logs error:
make -j4 all
arm-none-eabi-gcc "../Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.c" -mcpu=cortex-m3 -std=gnu11 -DUSE_HAL_DRIVER -DSTM32F101xB -DSSD1306 -c -I../Core/Inc -I../Drivers/addons -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -I../Drivers/generalIO -I../Drivers/graphics -I../Drivers/graphics/gui -I../Drivers/graphics/gui/screens -I../Drivers/graphics/u8g2 -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -Os -ffunction-sections -fdata-sections -Wall -Wno-builtin-macro-redefined -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.d" -MT"Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.o"
arm-none-eabi-gcc "../Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.c" -mcpu=cortex-m3 -std=gnu11 -DUSE_HAL_DRIVER -DSTM32F101xB -DSSD1306 -c -I../Core/Inc -I../Drivers/addons -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -I../Drivers/generalIO -I../Drivers/graphics -I../Drivers/graphics/gui -I../Drivers/graphics/gui/screens -I../Drivers/graphics/u8g2 -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -Os -ffunction-sections -fdata-sections -Wall -Wno-builtin-macro-redefined -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.d" -MT"Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.o"
arm-none-eabi-gcc "../Drivers/graphics/gui/screens/addons_screen.c" -mcpu=cortex-m3 -std=gnu11 -DUSE_HAL_DRIVER -DSTM32F101xB -DSSD1306 -c -I../Core/Inc -I../Drivers/addons -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -I../Drivers/generalIO -I../Drivers/graphics -I../Drivers/graphics/gui -I../Drivers/graphics/gui/screens -I../Drivers/graphics/u8g2 -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -Os -ffunction-sections -fdata-sections -Wall -Wno-builtin-macro-redefined -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Drivers/graphics/gui/screens/addons_screen.d" -MT"Drivers/graphics/gui/screens/addons_screen.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/graphics/gui/screens/addons_screen.o"
arm-none-eabi-gcc "../Drivers/graphics/gui/screens/boot_screen.c" -mcpu=cortex-m3 -std=gnu11 -DUSE_HAL_DRIVER -DSTM32F101xB -DSSD1306 -c -I../Core/Inc -I../Drivers/addons -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -I../Drivers/generalIO -I../Drivers/graphics -I../Drivers/graphics/gui -I../Drivers/graphics/gui/screens -I../Drivers/graphics/u8g2 -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -Os -ffunction-sections -fdata-sections -Wall -Wno-builtin-macro-redefined -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Drivers/graphics/gui/screens/boot_screen.d" -MT"Drivers/graphics/gui/screens/boot_screen.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/graphics/gui/screens/boot_screen.o"
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/addons_screen.h:11,
from ../Drivers/graphics/gui/screens/addons_screen.c:8:
../Drivers/graphics/display.h:265:2: error: #error "I2C_TRY_HW defined, but DISPLAY_DEVICE is missing!"
265 | #error "I2C_TRY_HW defined, but DISPLAY_DEVICE is missing!"
| ^~~~~
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.h:11,
from ../Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.c:7:
../Drivers/graphics/display.h:265:2: error: #error "I2C_TRY_HW defined, but DISPLAY_DEVICE is missing!"
265 | #error "I2C_TRY_HW defined, but DISPLAY_DEVICE is missing!"
| ^~~~~
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/boot_screen.h:10,
from ../Drivers/graphics/gui/screens/boot_screen.c:8:
../Drivers/graphics/display.h:265:2: error: #error "I2C_TRY_HW defined, but DISPLAY_DEVICE is missing!"
265 | #error "I2C_TRY_HW defined, but DISPLAY_DEVICE is missing!"
| ^~~~~
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.h:11,
from ../Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.c:8:
../Drivers/graphics/display.h:265:2: error: #error "I2C_TRY_HW defined, but DISPLAY_DEVICE is missing!"
265 | #error "I2C_TRY_HW defined, but DISPLAY_DEVICE is missing!"
| ^~~~~
make: *** [Drivers/graphics/gui/screens/subdir.mk:64: Drivers/graphics/gui/screens/addons_screen.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Drivers/graphics/gui/screens/subdir.mk:64: Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.o] Error 1
make: *** [Drivers/graphics/gui/screens/subdir.mk:64: Drivers/graphics/gui/screens/boot_screen.o] Error 1
make: *** [Drivers/graphics/gui/screens/subdir.mk:64: Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.o] Error 1
"make -j4 all" terminated with exit code 2. Build might be incomplete.
21:49:53 Build Failed. 9 errors, 0 warnings. (took 2s.584ms)
I guess CubeIDE 1.13.0 uses a newer GCC compiler. It'll be fine, I guess.
Use code tags for your logs!
[c0de]
Paste your code between these tags (write "code" instead "c0de")
[/c0de]
Paste your code between these tags (write "code" instead "c0de")
Better skip the i2c mod, it doesn't worth it, anyways if you insist, by default your Core/Inc/board.h will look like this:
#define HWSTRING "HW: KSGER v2.x"
/********************************
* Display Settings *
********************************/
//#define DISPLAY_SPI // SPI display
#define DISPLAY_I2C // I2C display
//#define I2C_TRY_HW // Try I2C HW first, use I2C SW if not detected
#define DISPLAY_ADDRESS (0x3c<<1) // Only used for I2C
//#define DISPLAY_DEVICE hi2c2 // SPI / I2C handler if used. Enables HW mode, otherwise SW mode is used
#define FILL_DMA hdma_memtomem_dma1_channel2 // DMA mem2mem for filling
//#define USE_RST // Reset pin is used
//#define USE_DC // DC pin is used
//#define USE_CS // CS pin is used
#define DISPLAY_OFFSET 2 // Display offset
If you enable i2c in CubeIDE, then you must specify the interface used. It will be hi2c1, hi2c2...
You'll find it at the beginning of Core/Src/main.c it after CubeMX generates the code.
So if your i2c interface was i2c2, the handler will be hi2c2. You only need to specify the handler, changing this line:
//#define DISPLAY_DEVICE hi2c2 // SPI / I2C handler if used. Enables HW mode, otherwise SW mode is
To this:
#define DISPLAY_DEVICE hi2c2 // SPI / I2C handler if used. Enables HW mode, otherwise SW mode is
I guess CubeIDE 1.13.0 uses a newer GCC compiler. It'll be fine, I guess.
Use code tags for your logs!
[c0de]
Paste your code between these tags (write "code" instead "c0de")
[/c0de]
Paste your code between these tags (write "code" instead "c0de")
Better skip the i2c mod, it doesn't worth it, anyways if you insist, by default your Core/Inc/board.h will look like this:
#define HWSTRING "HW: KSGER v2.x"
/********************************
* Display Settings *
********************************/
//#define DISPLAY_SPI // SPI display
#define DISPLAY_I2C // I2C display
//#define I2C_TRY_HW // Try I2C HW first, use I2C SW if not detected
#define DISPLAY_ADDRESS (0x3c<<1) // Only used for I2C
//#define DISPLAY_DEVICE hi2c2 // SPI / I2C handler if used. Enables HW mode, otherwise SW mode is used
#define FILL_DMA hdma_memtomem_dma1_channel2 // DMA mem2mem for filling
//#define USE_RST // Reset pin is used
//#define USE_DC // DC pin is used
//#define USE_CS // CS pin is used
#define DISPLAY_OFFSET 2 // Display offset
If you enable i2c in CubeIDE, then you must specify the interface used. It will be hi2c1, hi2c2...
You'll find it at the beginning of Core/Src/main.c it after CubeMX generates the code.
So if your i2c interface was i2c2, the handler will be hi2c2. You only need to specify the handler, changing this line:
//#define DISPLAY_DEVICE hi2c2 // SPI / I2C handler if used. Enables HW mode, otherwise SW mode is
To this:
#define DISPLAY_DEVICE hi2c2 // SPI / I2C handler if used. Enables HW mode, otherwise SW mode is
yes, this is original code before i change #define I2C_TRY_HW without //
original configuration gets warning 1 during firmware build. but its not a problem, i have tested the bin file its working though getting the warning (1) the image i have added in post #3558
if you have detailed information step by step or video showing how to change i2c mod i will try, but if you think this is not useful i will ignore it, i have read
i2c hardware mod.txt Software i2c makes a lot of hacks to squeeze the best performance, and it's about 50% faster. that's why i want to try
after change
#define HWSTRING "HW: KSGER v2.x"
/********************************
* Display Settings *
********************************/
//#define DISPLAY_SPI // SPI display
#define DISPLAY_I2C // I2C display
#define I2C_TRY_HW // Try I2C HW first, use I2C SW if not detected
#define DISPLAY_ADDRESS (0x3c<<1) // Only used for I2C
#define DISPLAY_DEVICE hi2c2 // SPI / I2C handler if used. Enables HW mode, otherwise SW mode is used
#define FILL_DMA hdma_memtomem_dma1_channel2 // DMA mem2mem for filling
//#define USE_RST // Reset pin is used
//#define USE_DC // DC pin is used
//#define USE_CS // CS pin is used
#define DISPLAY_OFFSET 0 // Display offset
i have new log:
make -j4 all
arm-none-eabi-gcc "../Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.c" -mcpu=cortex-m3 -std=gnu11 -DUSE_HAL_DRIVER -DSTM32F101xB -DSSD1306 -c -I../Core/Inc -I../Drivers/addons -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -I../Drivers/generalIO -I../Drivers/graphics -I../Drivers/graphics/gui -I../Drivers/graphics/gui/screens -I../Drivers/graphics/u8g2 -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -Os -ffunction-sections -fdata-sections -Wall -Wno-builtin-macro-redefined -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.d" -MT"Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.o"
arm-none-eabi-gcc "../Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.c" -mcpu=cortex-m3 -std=gnu11 -DUSE_HAL_DRIVER -DSTM32F101xB -DSSD1306 -c -I../Core/Inc -I../Drivers/addons -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -I../Drivers/generalIO -I../Drivers/graphics -I../Drivers/graphics/gui -I../Drivers/graphics/gui/screens -I../Drivers/graphics/u8g2 -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -Os -ffunction-sections -fdata-sections -Wall -Wno-builtin-macro-redefined -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.d" -MT"Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.o"
arm-none-eabi-gcc "../Drivers/graphics/gui/screens/addons_screen.c" -mcpu=cortex-m3 -std=gnu11 -DUSE_HAL_DRIVER -DSTM32F101xB -DSSD1306 -c -I../Core/Inc -I../Drivers/addons -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -I../Drivers/generalIO -I../Drivers/graphics -I../Drivers/graphics/gui -I../Drivers/graphics/gui/screens -I../Drivers/graphics/u8g2 -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -Os -ffunction-sections -fdata-sections -Wall -Wno-builtin-macro-redefined -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Drivers/graphics/gui/screens/addons_screen.d" -MT"Drivers/graphics/gui/screens/addons_screen.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/graphics/gui/screens/addons_screen.o"
arm-none-eabi-gcc "../Drivers/graphics/gui/screens/boot_screen.c" -mcpu=cortex-m3 -std=gnu11 -DUSE_HAL_DRIVER -DSTM32F101xB -DSSD1306 -c -I../Core/Inc -I../Drivers/addons -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -I../Drivers/generalIO -I../Drivers/graphics -I../Drivers/graphics/gui -I../Drivers/graphics/gui/screens -I../Drivers/graphics/u8g2 -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -Os -ffunction-sections -fdata-sections -Wall -Wno-builtin-macro-redefined -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Drivers/graphics/gui/screens/boot_screen.d" -MT"Drivers/graphics/gui/screens/boot_screen.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/graphics/gui/screens/boot_screen.o"
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.h:11,
from ../Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.c:8:
../Drivers/graphics/display.h:144:9: error: unknown type name 'I2C_HandleTypeDef'
144 | I2C_HandleTypeDef *device;
| ^~~~~~~~~~~~~~~~~
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/addons_screen.h:11,
from ../Drivers/graphics/gui/screens/addons_screen.c:8:
../Drivers/graphics/display.h:144:9: error: unknown type name 'I2C_HandleTypeDef'
144 | I2C_HandleTypeDef *device;
| ^~~~~~~~~~~~~~~~~
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.h:11,
from ../Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.c:8:
../Drivers/graphics/display.h:207:15: error: unknown type name 'I2C_HandleTypeDef'; did you mean 'CRC_HandleTypeDef'?
207 | void lcd_init(I2C_HandleTypeDef *device,DMA_HandleTypeDef *dma);
| ^~~~~~~~~~~~~~~~~
| CRC_HandleTypeDef
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/addons_screen.h:11,
from ../Drivers/graphics/gui/screens/addons_screen.c:8:
../Drivers/graphics/display.h:207:15: error: unknown type name 'I2C_HandleTypeDef'; did you mean 'CRC_HandleTypeDef'?
207 | void lcd_init(I2C_HandleTypeDef *device,DMA_HandleTypeDef *dma);
| ^~~~~~~~~~~~~~~~~
| CRC_HandleTypeDef
../Drivers/graphics/display.h:209:32: error: unknown type name 'I2C_HandleTypeDef'; did you mean 'CRC_HandleTypeDef'?
209 | void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *device);
| ^~~~~~~~~~~~~~~~~
| CRC_HandleTypeDef
../Drivers/graphics/display.h:209:32: error: unknown type name 'I2C_HandleTypeDef'; did you mean 'CRC_HandleTypeDef'?
209 | void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *device);
| ^~~~~~~~~~~~~~~~~
| CRC_HandleTypeDef
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.h:11,
from ../Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.c:7:
../Drivers/graphics/display.h:144:9: error: unknown type name 'I2C_HandleTypeDef'
144 | I2C_HandleTypeDef *device;
| ^~~~~~~~~~~~~~~~~
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.h:11,
from ../Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.c:7:
../Drivers/graphics/display.h:207:15: error: unknown type name 'I2C_HandleTypeDef'; did you mean 'CRC_HandleTypeDef'?
207 | void lcd_init(I2C_HandleTypeDef *device,DMA_HandleTypeDef *dma);
| ^~~~~~~~~~~~~~~~~
| CRC_HandleTypeDef
../Drivers/graphics/display.h:209:32: error: unknown type name 'I2C_HandleTypeDef'; did you mean 'CRC_HandleTypeDef'?
209 | void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *device);
| ^~~~~~~~~~~~~~~~~
| CRC_HandleTypeDef
make: *** [Drivers/graphics/gui/screens/subdir.mk:64: Drivers/graphics/gui/screens/addon_fume_extractor_settings_screen.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Drivers/graphics/gui/screens/subdir.mk:64: Drivers/graphics/gui/screens/addons_screen.o] Error 1
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/boot_screen.h:10,
from ../Drivers/graphics/gui/screens/boot_screen.c:8:
../Drivers/graphics/display.h:144:9: error: unknown type name 'I2C_HandleTypeDef'
144 | I2C_HandleTypeDef *device;
| ^~~~~~~~~~~~~~~~~
In file included from ../Drivers/graphics/gui/screen.h:15,
from ../Drivers/graphics/gui/screens/boot_screen.h:10,
from ../Drivers/graphics/gui/screens/boot_screen.c:8:
../Drivers/graphics/display.h:207:15: error: unknown type name 'I2C_HandleTypeDef'; did you mean 'CRC_HandleTypeDef'?
207 | void lcd_init(I2C_HandleTypeDef *device,DMA_HandleTypeDef *dma);
| ^~~~~~~~~~~~~~~~~
| CRC_HandleTypeDef
../Drivers/graphics/display.h:209:32: error: unknown type name 'I2C_HandleTypeDef'; did you mean 'CRC_HandleTypeDef'?
209 | void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *device);
| ^~~~~~~~~~~~~~~~~
| CRC_HandleTypeDef
make: *** [Drivers/graphics/gui/screens/subdir.mk:64: Drivers/graphics/gui/screens/addon_switch_off_reminder_settings_screen.o] Error 1
make: *** [Drivers/graphics/gui/screens/subdir.mk:64: Drivers/graphics/gui/screens/boot_screen.o] Error 1
"make -j4 all" terminated with exit code 2. Build might be incomplete.
21:51:44 Build Failed. 17 errors, 0 warnings. (took 2s.251ms)
i have read i2c hardware mod.txt Software i2c makes a lot of hacks to squeeze the best performance, and it's about 50% faster. that's why i want to try
Software i2c is what's currently being used. Going to HW i2c won't make any better, it's a slow inteface anyways.
Nah I won't spend my Sunday in this, sorry! Just use it as-is
.
The station won't work faster or anything. It can actually get a lot faster, it's the PWM what limits how often the readings are made.
If you set SYSTEM->GUI time to minimum, then IRON->ADC Time to 50ms and Delay to 5ms, you'll get 20 readings per second instead 5.
Performance will vary, usually new tips go crazy, but after days of use they will behave much better.
i have installed the mcu to the board, i just realized my mcu chip is a clone, the problem is it shows NTC low/high and temperature keeps changing. i have read:
If you're getting "NTC high/low" error even when disabling the NTC in settings, then your STM32 is fake.
Check Clones in Compatibility section and Clone fix option in System menu.
after i Clone Fix (ON) the NTC problem no longer appears, and i don't see a change in temperature, but the problem is when i plug in the TIP, the iron TIP is smolder and very hot, on the top right OLED screen it shows the number -99.9C this appears when i installed or without TIP -99.9C always appear.
Can't really tell, the clone fix is experimental, just a "try your luck and win" thing :-).
I won't spend any more time trying to make clones work, I highly encourage to replace it with a genuine one.
You might have the NTC connection wrong, or did you even connected it?
If not having NTC, then go to IRON->NTC MENU->NTC enable = OFF, then it will use the STM32 internal sensor.
Hi, I've replaced the chip STM32 with original, now problem temperature it's working fine, but I have something to ask, I'm
Building the firmware without error and without warning i add new source
(Fix for CubeIDE 1.13.0 warning) the problem is when I change menu SYSTEM->Boot->Change Sleep to Run, after I come back to main screen, I get error as shown pictures, and changing boot "sleep" to "run" doesn't work, it doesn't seem to saved to eeprom the changes.
edit:
maybe i make changes to the encoder too fast and returned to the main screen too soon, i tried to change by turning the encoder slow and pressing "Back" then after 2-3 seconds i select the encoder for click "EXIT" and i didn't find any HARD FAULT, i will continue to try this firmware and report if it encounters an error
You can go as fast as you want, it should never do that.
What stm32 did you put in?
Try to replicate the issue, it's been ages since last hard fault.
There's no reason to build yourself, releases are always updated, so try them.
I wonder if it's caused when saving settings to the flash, which is done instantly when exiting IRON menu if anything was changed.
i am using STM32F103C8T6 i got original stock and i can Debug on Cube IDE without getting error ST-LINK: Could not verify ST device!
there is new information, I tried the firmware that you have compiled
here, and it runs as fast as anything without error, I have not found what the problem is, there is a difference in the my build the firmware, I believe I did the steps correctly, and without changing any source code that is in your source code, if you have a lot of time maybe you can try to delete the old project in CUBE IDE and try new a import the source code, I have also added the paths [Properties] -> [C/C++ Build] -> [Settings] -> [Tool Settings] -> [MCU GCC Compiler] -> [Include paths] according to your instructions, but the problem is always there, and if I do a slow encoder change, I don't get a HARD FAULT error on the screen, it only appears if I do it fast.
You don't have to do anything like that? Just use the build script!
Or run the script to set the correct files, then import the project into the IDE.
But nothing else is required, like creating a new project etc...
Where did you saw that? Read again the instructions...
You don't have to do anything like that? Just use the build script!
Or run the script to set the correct files, then import the project into the IDE.
But nothing else is required, like creating a new project etc...
Where did you saw that? Read again the instructions...
Sorry I didn't say create a new project, but did a new import, sorry my English is bad to understand, it's true I imported according to what was information in
Build.md
Ok then!
It's hard to know, keep using it, changing settings etc, trying to trigger the issue.
You might try going into system-> reset menu-> reset all, perhabs it's only happening on first boot.
Of course, I always use the latest, this week I soldered a lot of things with no issue at all.
Ok then!
It's hard to know, keep using it, changing settings etc, trying to trigger the issue.
You might try going into system-> reset menu-> reset all, perhabs it's only happening on first boot.
Of course, I always use the latest, this week I soldered a lot of things with no issue at all.
reset all doesn't fix the problem, not only menu Boot = RUN/STBY/SLP, also menu ADDONS/EXTRAS if I turn Reminder ON, Btn Wake also if change ALL to SLP, then I quickly go back to the main screen, then HARD FAULT appears.
But there is something unique on the Edit Tips menu, I change the name of the tip and then save, and exit quickly to the main screen, I do not see errors there, it seems that the behavior of errors if something has changed without selecting save, then out quickly to the main screen, this behavior cannot store changes quickly, it takes 2-3 seconds to change changes to back to the main appearance then all will be fine, I think this is the problem of storing changes that are made without selecting Save, maybe..
Can you make a picture of it?
I can only think on a relabeled clone, or a bug related to CubeIDE 1.13.0.
The last release was compiled with 1.12.1, so if still crashing it wont be a IDE problem.
Can you make a picture of it?
I can only think on a relabeled clone, or a bug related to CubeIDE 1.13.0.
The last release was compiled with 1.12.1, so if still crashing it wont be a IDE problem.
You can see the difference between the chips I use, I have 2 clones with the code 991KA 93 SYM and the original code GQ23F 1293 CHN.
and you can also try the bin file from BUILD FIRMWARE which I did, I didn't change any source code, so I make sure that the code is still original.