Hello,
please let me introduce a bit before talking about my needs:
I am using MikroPascal PRO for PIC since many years and it works great. MikroPascal is designed to give perfect access to all internas of the target MCU, what is essential for writing firmware. I make really heavy use of embedded hardware modules (I2C, SPI, 1-wire, multiple serial, interrupts, PWM, ..., CRTOS). Here MikroPascal does a really good job even on 8-Bit controllers. Usually I use here the upper end of PIC18 with a lot of embedded hardware features (including Ethernet).
Of course, I could also use PIC32 MCUs and use MikroPascal PRO for PIC32, but MikroElektronika stopped further development of Pascal compilers, so I decided to give FreePascal + ESP8266 a preference, because it features a real RTOS, no "Cooperative RTOS" (CRTOS), too.
As I will never ever touch this Arduino stuff and start with "C", FreePascal appears to be an excellent alternative. It is free software and I know it from Linux, and it will be available and continually be developed.
So I bought 5 pcs ESP8266 to have some for first steps, and with some help of Christo I got fpcupdeluxe + freertos for ESP8266. installed and running, too.
My current status is:
I am able to write some code writing "Hello world" to the debug output (USB serial), so the compiler and all the tool chain really works.
But writing a "Hello World" definitely is not what I want to do. I want to write firmware for microcontroller controlled devices I build.
My problems:
I have massive problems with using GPIO, I2C, SPI, UART, 1-wire, .... on ESP8266.
In MikroPascal for PIC, accessing embedded hardware modules is extremely easy. Mark the related module(s) and use then the additional procedures/functions afterwards.
In FreePascal (for ESP8266) I am totally lost, because I cannot find any useful documentation on how to do anything. This starts at basic things like accessing GPIO (set directions, write/read levels, ...) and I also have absolutely no idea on how to use i.e. PWM, UART, I2C, 3-wire SPI, 1-wire, A/D converter (if existing at all).
I tried to follow the example on espressif web site showing a "Hello World" which also prints some hardware details), but even this I could not port, FreePascal does not know the type "esp_chip_info_t" (and this is the first line only.)..
I am very sure that I will have to include or import something to make things work, but without a series of running example programs and/or a useful documentation it is almost impossible to get started.
I wrote all of above to give you a picture of my current situation. Any real help is very welcome.
Thank you in advance.