Good evening all.
I was testing my config & props with POS Github Master and I keep getting errors with bullet count.
I tried with Arduino 1.8.19 & plugin 3.6.0 & experimental 4.1.0
I also tried with Arduino 2.3.3 with both plugin versions.
This is my CONFIG_BOTTOM:
same as
It compiles with POS 7.14 but not with Github Master
#ifdef CONFIG_BOTTOM
DisplayHelper<128, uint32_t,
BaseLayerOp<StandardDisplayController>,
ClearRectangleOp<10, 80, 8, 24>,
WriteBulletCountOp<10, 20, 5> >
display_controller;
SSD1306Template<128, uint32_t> display(&display_controller);
#endif // CONFIG_BOTTOM
This is the errors I am getting from Arduino 2.3.3:
In file included from C:\ProffieOS\ProffieOS.ino:1688:
C:\ProffieOS\config\olicomplex1.5.010.2.h:1630:42: error: type/value mismatch at argument 1 in template parameter list for 'template<template<int <anonymous>, class> class T> struct BaseLayerOp'
1630 | BaseLayerOp<StandardDisplayController>,
| ^
C:\ProffieOS\config\olicomplex1.5.010.2.h:1630:42: note: expected a template of type 'template<int <anonymous>, class> class T', got 'template<int Width, class col_t, class PREFIX> class StandardDisplayController'
C:\ProffieOS\config\olicomplex1.5.010.2.h:1633:35: error: template argument 3 is invalid
1633 | WriteBulletCountOp<10, 20, 5> >
| ^
C:\ProffieOS\config\olicomplex1.5.010.2.h:1635:63: error: no matching function for call to 'SSD1306Template<128, long unsigned int>::SSD1306Template(int*)'
1635 | SSD1306Template<128, uint32_t> display(&display_controller);
| ^
In file included from C:\ProffieOS\ProffieOS.ino:1527:
C:\ProffieOS\display\ssd1306.h:1085:12: note: candidate: 'SSD1306Template<WIDTH, col_t, POWER_PIN>::SSD1306Template(DisplayControllerBase<Width, col_t>*, int) [with int WIDTH = 128; col_t = long unsigned int; POWER_PIN = PowerPINS<>]'
1085 | explicit SSD1306Template(DisplayControllerBase<WIDTH, col_t>* controller, int id) : I2CDevice(id) {
| ^~~~~~~~~~~~~~~
C:\ProffieOS\display\ssd1306.h:1085:12: note: candidate expects 2 arguments, 1 provided
C:\ProffieOS\display\ssd1306.h:1082:12: note: candidate: 'SSD1306Template<WIDTH, col_t, POWER_PIN>::SSD1306Template(DisplayControllerBase<Width, col_t>*) [with int WIDTH = 128; col_t = long unsigned int; POWER_PIN = PowerPINS<>]'
1082 | explicit SSD1306Template(DisplayControllerBase<WIDTH, col_t>* controller) : I2CDevice(0x3C) {
| ^~~~~~~~~~~~~~~
C:\ProffieOS\display\ssd1306.h:1082:65: note: no known conversion for argument 1 from 'int*' to 'DisplayControllerBase<128, long unsigned int>*'
1082 | explicit SSD1306Template(DisplayControllerBase<WIDTH, col_t>* controller) : I2CDevice(0x3C) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
C:\ProffieOS\display\ssd1306.h:1024:7: note: candidate: 'constexpr SSD1306Template<128, long unsigned int>::SSD1306Template(const SSD1306Template<128, long unsigned int>&)'
1024 | class SSD1306Template : public Display<WIDTH, col_t>, I2CDevice, Looper, StateMachine {
| ^~~~~~~~~~~~~~~
C:\ProffieOS\display\ssd1306.h:1024:7: note: no known conversion for argument 1 from 'int*' to 'const SSD1306Template<128, long unsigned int>&'
C:\ProffieOS\display\ssd1306.h:1024:7: note: candidate: 'constexpr SSD1306Template<128, long unsigned int>::SSD1306Template(SSD1306Template<128, long unsigned int>&&)'
C:\ProffieOS\display\ssd1306.h:1024:7: note: no known conversion for argument 1 from 'int*' to 'SSD1306Template<128, long unsigned int>&&'
exit status 1
Compilation error: type/value mismatch at argument 1 in template parameter list for 'template<template<int <anonymous>, class> class T> struct BaseLayerOp'
So I guess something got changed along the way ?