There is also a demo but I don’t know how to compile it because it does not appear in the examples menu.
Has anybody an idea?
It is good to look at those examples, but really not the arduino way. At all.
For example, if that board really has ILI9341 on SPI, than the Adafruit ILI9341 just works (After setting the correct SPI.stm32SetInstance(SPIx), SPI.stm32SetMOSI(…) …), and you don’t need anything else.
Oh how I wish I had that board…
For example, if that board really has ILI9341 on SPI, than the Adafruit ILI9341 just works
That would be much too easy and I would have done an example long time ago.
It is parallel ( p.34 ).
Oh how I wish I had that board…
In my opinion you should ask STM. They shall give you one for free.
Its worth is 1/2 hour firmware developers work and I think you invested a little bit more than 1/2 hour in this project ![]()
He set the path separate to our examples directory and added all necessary libraries.
Probably that’s a quite good strategy to have all the important libraries related to the board in its location.
Daniel, what do you think? It would probably very good to include the work of huaweix quite soon in the repo.
It is fine if you do your own project without arduino.
But look at the code!
#define LED3_PIN GPIO_PIN_13
#define LED3_GPIO_PORT GPIOG
#define LED3_GPIO_CLK_ENABLE() __GPIOG_CLK_ENABLE()
#define LED3_GPIO_CLK_DISABLE() __GPIOG_CLK_DISABLE() I saw that it is quite unclean, but at least the display was working.
So there seems to be a change to use the display driver without to much effort.
I know you don’t have the board … I tried to send STM a message that the should provide you one.
About library compatibility: I will open a general thread regarding all frameworks.
Cheers,
Christoph
Now the Adafruit-GFX functions can be used for the graphics.
If the do, and only use HAL, than I will “use” those too, so it will be their responsibility to create and maintain the libraries ;-P
[danieleff – Fri Jun 30, 2017 10:08 am] –
If the do, and only use HAL, than I will “use” those too, so it will be their responsibility to create and maintain the libraries ;-P
We also accept contribution/suggestion, it’s an open source project
All contributors/contributions are welcome. ![]()
Probably it can speed up the development process.
The most important thing is in that case that there is a description on how to install both repos.
Usually I simply make “git clone” because than I can make changes in my repo very quick but I don’t know how this collides with an installation by the board manager … if you could just describe the “work flow” …
[ChrisMicro – Fri Jun 30, 2017 4:38 pm] –
if you could just describe the “work flow” …
This is planned. A simple git clone will be enough ![]()
will the boards repo have the current repo (probably shrunken in size) as module(s) ?
stephen
@chrismicro you would like to know the wow?
Hmm, I do not understand wow.
wow?
– links to the repos
– how to cooperate
If the do, and only use HAL, than I will “use” those too, so it will be their responsibility to create and maintain the libraries ;-P
Is something going on in this direction? I don’t know if there is any repository.
Some other will come. And if you have any one you think which should be good to add do not hesitate to ask.
Then we could create a repo or fork one to update it.
It an open subject which need to be developed.
Link please
Some other will come. And if you have any one you think which should be good to add do not hesitate to ask.
Then we could create a repo or fork one to update it.
I understood it this way that hardware peripherals for various boards like the STM32F746 will be supported.
For me the most important would be that the STM32F7 disco and F4 disco will be functioning.
And than I don’t know if Daniel would transfer for e.g. the TFT for the F7 disco to the new repo.
https://github.com/stm32duino/LwIP
Currently under Pulls request is under review
WARNING: library LwIP claims to run on [stm32] architecture(s) and may be incompatible with your current board which runs on [STM32] architecture(s).
WARNING: library STM32Ethernet claims to run on [stm32] architecture(s) and may be incompatible with your current board which runs on [STM32] architecture(s).add ‘,stm32’ to the architectures line
stephen
Fine if it’s both compatible. That’s why I would like one repo for each lib and not integrate it in the core
It reads the voltage from PA0 and displays it. PA0 is connected to the blue button of the board. I you press the button the displayed voltage changes to 3.3V.
I have tried other pins e.g. PA1 but there seems to be a driver problem. PA1 shows always ‘0’.
But it does not respond. So either there is a fault in my scanner configuration or there is a problem with the I2C3 implementation.
Because I tried to measure the I2C3 signals wiht the oscilloscope on PA8 and PC9 and there where no signaIs, I think there is a problem with the I2C implementaion
Anny idea?:
#include <Wire.h>
#define SERIALINTERFACE Serial
void setup()
{
//Wire.begin();
Wire.stm32SetInstance(I2C3);
Wire.stm32SetSDA(PC9);
Wire.stm32SetSCL(PA8);
//enableDevices();
SERIALINTERFACE.begin(115200);
delay(5000);
SERIALINTERFACE.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
SERIALINTERFACE.println("Scanning...");
delay(2000);
nDevices = 0;
for (address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
Wire.write(0);
error = Wire.endTransmission();
if (error == 0)
{
SERIALINTERFACE.print("I2C device found at address 0x");
if (address < 16) SERIALINTERFACE.print("0");
SERIALINTERFACE.print(address, HEX);
SERIALINTERFACE.println(" !");
nDevices++;
}
else if (error == 4)
{
SERIALINTERFACE.print("no device found at address 0x");
if (address < 16) SERIALINTERFACE.print("0");
SERIALINTERFACE.println(address, HEX);
}
}
if (nDevices == 0)
{
SERIALINTERFACE.println("No I2C devices found\n");
SERIALINTERFACE.println("Did you configure the chip select for your device?\n");
}
else
SERIALINTERFACE.println("done\n");
delay(5000); // wait 5 seconds for next scan
}
Is it possible to remap the full GPIO with STM32CubeMX in order to activated I2C2, I2C3, SDIO, SPI4, SPI5 or SPI6 for example?
void setup() {
Wire.stm32SetInstance(I2C3);
Wire.stm32SetSDA(PC9);
Wire.stm32SetSCL(PA8);
DumbLibrary.begin(); // dumb library does not know that the chip has multiple I2C, and thinks there is only Wire. What a shame... READ THE LIBRARY DOCUMENTATION
// THE PREVIOUS LINE WILL CALL Wire.begin() !!!
}
Damn it .. I looked 10 times and didn’t see
But thanks
Here I made the new TFT touch screen example
It seems, that all pins are somehow shared with other Peripherals. The I2S works, but I found only a solution where the TFT can not be used:
https://github.com/ChrisMicro/STM32GENE … overy429ZI
I added also an oscilloscope example in the TFT folder.
