Sign in Join
Wiki copytemporary

UnoLib: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: UnoLib

OldNewLine
1+## About
2+
3+UnoLib is set of routines translated to Pascal from Arduino sources dedicated for Arduino Uno (ATMega328p). Although the library is distributed with AVRPascal, it can be used independently by for example FPC IDE or Lazarus with FPC built for use with AVR microcontrollers.
4+
5+[![UnoLib.png](/wiki-images/b/b5/UnoLib.png)](</File:UnoLib.png>)
6+
7+Written by @ackarwow in collaboration with @Dzandaa (from 2024)
8+
9+## Downloads
10+
11+UnoLib releases are available on SourceForge: <https://sourceforge.net/projects/unolib/>
12+
13+Current changes to UnoLib are on GitHub: <https://github.com/ackarwow/unolib>
14+
15+AVRPascal editor: [http://akarwowski.pl/index.php?page=electronics&lang=en](<http://akarwowski.pl/index.php?page=electronics&lang=en>)
16+
17+## Modules
18+
19+The library modules are located in the "lib" directory:
20+
21+ * analog.pas - support for analog pins
22+ * defs.pas - definitions of constants, bit manipulations, port support
23+ * dht.pas - support for DHT11/22 sensors
24+ * digital.pas - support for digital pins
25+ * ds1302rtc.pas - support for ds1302 real time clock
26+ * fix16.pas - support for fixed point numbers
27+ * float32.pas - support for floating point numbers, basic arithmetic and trigonometric operations (in collaboration with @Dzandaa)
28+ * hardwareserial.pas - support for serial communication
29+ * i2c.pas - support for I2C communication bus (by @Dzandaa, many thanks to @ccrause)
30+ * liquidcrystal.pas - support for LCD
31+ * stringutils.pas - string conversion routiones (by @Dzandaa)
32+ * timer.pas - time-related routines
33+
34+The "examples" directory contains simple programs using UnoLib modules:
35+
36+ * DS137ZN_RTC_Test.pas - Real Time Clock test using I2C (by @Dzandaa)
37+ * HMC5883L_Magnetometer_Test.pas - HMC5883L Magnetometer test using I2C (by @Dzandaa)
38+ * I2CScan.pas - I2C bus scan (by @Dzandaa)
39+ * pcf8591t_ACDC_Read.pas - ACDC read test (by @Dzandaa)
40+ * pcf8591t_ACDC_Write.pas - ACDC write test (by @Dzandaa)
41+ * TestBlink.pas - turns on and off the built-in LED
42+ * TestBlinkWithoutDelay.pas - turns on and off the built-in LED using Millis
43+ * TestDHT11.pas - displays information about the temperature and humidity of the air from the DHT11 sensor on an external LCD display
44+ * TestDigital.pas - turns on and off the built-in LED based on the button state
45+ * TestLCAutoscroll.pas - scrolls text on the LCD display
46+ * TestLCBlink.pas - displays the text "hello, world!" on the LCD display
47+ * TestLCChars.pas - displays non-standard characters on the LCD display
48+ * TestLCCursor.pas - turns the cursor on and off on the LCD display
49+ * TestLCDisplay.pas - displays and turns off the text "hello, world!"
50+ * TestLCSerialDisplay.pas - displays characters taken from the serial port on the LCD display
51+ * TestLCTextDirection.pas - changes the direction of text display on the LCD display
52+ * TestLM35.pas - displays the temperature value from the LM35 sensor on the LCD display
53+ * TestSerial.pas - sends and receives data via the serial port
54+
55+Some extra code is placed in "extras" directory:
56+
57+ * ccrause_blink_leonardo.pas - blink example for Arduino Leonardo based on code written by @ccrause
58+ * ccrause_delay.pas - delay module based on code written by @ccrause
59+ * cdc.pas - CDC support for Arduino Leonardo
60+ * usb.pas - USB support for Arduino Leonardo
61+ * wdt.pas - watchdog timer routines
62+
63+Lazarus test projects are placed in "tests" directory:
64+
65+ * conversion - routines for numeric and string conversion and data preparation for CORDIC algorithm (by @Dzandaa with collaboration of @ackarwow)
66+ * float32 - test programs for testing TFloat32 type both on Lazarus and on Arduino side (based on serial port communication program by @Dzandaa)
67+ * serial - serial port communication test (by @Dzandaa)
68+
69+Before compiling a given program, please make sure that the library modules listed in the uses section have already been compiled.
70+
71+---
72+*From the Free Pascal wiki, page "UnoLib", as the Internet Archive kept it on 2025-04-18, last changed on 2025-04-06. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history