adafruit / Adafruit-ST7735-Library

This is a library for the Adafruit 1.8" SPI display http://www.adafruit.com/products/358 and http://www.adafruit.com/products/618
https://learn.adafruit.com/1-8-tft-display
547 stars 303 forks source link

Support for stm32duino #155

Closed BugerDread closed 2 years ago

BugerDread commented 2 years ago

I changed types of variables used to specify IO pins such as DC, CS, RST, MISO, CLK from int8_t to int16_t because for example on bluepill PA4 = 196, PB0 = 200, PB1 = 201 and such numbers can fit into int8_t (that holds +-127 because of sign) and this cause the library doesnt work with stm32duino / bluepill (the RST/DC/CS pins dont output any signal to LCD). It works perfectly with int16_t. Used "#if defined(ARDUINO_ARCH_STM32)" preprocesor directive to (hopefully) not break anything not related to stm32duino.

Tested using https://github.com/stm32duino/Arduino_Core_STM32 version 2.1.0

the Adafruit-GFX-Library needs to be modified in similar way, will put another pull request for this in a moment

not tested with other platforms like AVR or ESP because I dont have such HW just now, tested using stm32f103c8 bluepill, also tested that the "graphic test" example compiles wo errors with avr / esp8266 board selected

ladyada commented 2 years ago

its better to just update the pins to int16_t than try to ifdef, please change up the PR :)

BugerDread commented 2 years ago

the pullresuest for Adafruit-GFX-Library is https://github.com/adafruit/Adafruit-GFX-Library/pull/364

BugerDread commented 2 years ago

its better to just update the pins to int16_t than try to ifdef, please change up the PR :)

hmm, that is what I done first :D https://github.com/BugerDread/Adafruit-ST7735-Library/commit/ac28d83cb33508e65b0c5fb151a5d292356d3562 - but then I want to keep the code as-it-was for other platforms... So deficed to go the "#if defined" way

ok if you think we can just change these to int16_t I will close this PR and I will create new one