Forum > Embedded - AVR
AVRPascal – free code editor for FPC for AVR
ackarwow:
AVRPascal now is also on Reddit (https://www.reddit.com/r/avrpascal/). I invite everyone interested in news and discussion about this program. :)
ackarwow:
A new version of AVRPascal (3.4) has been released. As always, it is available for download on my webpage (https://akarwowski.pl/index.php?page=electronics&lang=en) or via dedicated domain (https://avrpascal.org).
Changes:
New version of UnoLib (1.2, see https://sourceforge.net/projects/unolib/ for details)
- UnoLib documentation has been added to the "docs" directory
New features and updates:
- the "Image Information" window has been moved to the debugger plugin (AVRPascalDbg); a brief note about flash memory usage now appears in the "Messages" area after successful compilation
- a "Data Converter" window has been added, allowing for the conversion of decimal floating-point numbers to their hexadecimal/binary representation in IEEE-754 and Q16.16 formats, useful when using the TFloat32 and TFix16 types from UnoLib
- changed default parameters: font size (10), tab size (2), and clock frequency definition (F_CPU) (now selected)
- added a "Serial Monitor" button to the toolbar (thanks to @Dzandaa for the suggestion!)
- updated the Readme.txt file with the new licence
Bug fixes:
- fixed the "Check for updates" and "Send to Manufacturer" functions following the change in the akarwowski.pl website protocol (from http to https)
I look forward to your feedback and questions. :)
ackarwow:
I'm glad to announce the release of AVRPascal IDE 3.5. Key changes:
1. New port for FreeBSD 13 (64-bit, PKG installer)
2. New portable ZIP package for Linux (designed for creating custom installers for non-officially supported distributions)
3. New features and updates:
- improved detection of blocking directives to handle more complex constructions (option "Detect controller type in IFNDEF directive")
- improved the functionality of "Search" / "Replace," adding the "from cursor" option and a prompt to search again (thanks to @Dzandaa for the suggestion)
- the program now opens in a single instance, which prevents accidental overwriting of the configuration file (INI)
- code refactoring was performed, resulting in a significant reduction of the executable file size (Windows: 71 MB -> 60 MB, Linux: 55 MB -> 49 MB, MacOS: 31 MB -> 20 MB, FreeBSD: 96 MB -> 81 MB)
4. Bug Fixes:
- fixed an issue with pasting data from the clipboard into the decimal numeric field in the "Data Converter" window (thanks to @Dzandaa for the suggestion)
ackarwow:
I have just published the first lesson of the "AVR Microcontroller Engineering with Pascal" course.
Here's what's included:
- Target: ATtiny13.
- Goal: Building our own "Arduino replacement" from scratch.
- Method: Pure "bare-metal" programming using registers (DDRB, PORTB) – no libraries, just clean Pascal code.
- Simplicity: Controlling hardware can be done with practically just two lines of code.
The lesson is available as a PDF on my website (https://akarwowski.pl/index.php?page=electronics&lang=en). Have fun :)
ccrause:
Nice tutorial! This is probably intended as a short tutorial, however I think there are some extra notes that can be included as background:
* The circuit as shown will only work with a programmer attached. This is of course the lowest parts count solution, but maybe add a discussion on what is required to make this a standalone project not connected to the USBASP (power connections, bypass capacitor requirements, function of PB5/RESET and why a pullup resistor is required in general).
* The required fuse settings to use PB5 as digital IO is not discussed. The default fuse setting from factory is that PB5 functions as the chip's reset pin. I would not suggest changing the reset pin to IO mode, since that will then require high voltage programming.
* I suggest adding a pulldown resistor to the MOSFET's gate, since it has some capacitance that could keep the MOSFET switched on when the gate voltage is removed.
* Regarding the programming header IDC10 connector: perhaps also mention that a 6 pin variant exists.
* Minor issue, calling the program "blink" when its purpose is just to switch the LED on is misleading ;)
* Correction: the internal RC oscillator operates at nominally 9.6 or 4.8 MHz
* Suggestion for next tutorial: add momentary switch and read switch state to toggle LED on/off. Requires a discussion of pull-up or pull-down pins, internal/external resistors, mechanical switch debouncing etc.
These kind of projects where the user both build circuits and write firmware requires background knowledge of both electronics, programming and the microcontroller itself. Of course the difficulty is to present the correct balance of topics to not bore or confuse a new user.
Keep up the good work!
Navigation
[0] Message Index
[#] Next page
[*] Previous page