Skip to main content

Posts

Showing posts with the label FPC

FA-5 VizControl

The BG7TBL FA-5 frequency counter has become recognized as an excellent choice for experimenters and radio enthusiasts, offering high-spec performance comparable to branded units. But it remains remarkably accessible due to its low cost.  FA-5 Frequency counter. The FA-5 has powerful hardware. However, most existing control applications lack a good user experience. Many of them rely on scripting languages, such as Python, while others utilise simple command-line interfaces . These limitations inspired us to create FA-5 VizControl . This native application provides a comprehensive, intuitive, and portable desktop experience for managing the FA-5 . We developed FA-5 VizControl using Lazarus and the FPC ( Free Pascal Compiler ). This choice ensures maximum compatibility and portability. The application functions as a standalone, portable executable on both Linux and Windows operating systems. There is no need for complex installation routines. Users simply download and launch...

STM8S001J3 based Programmable timer module

Programmable timer lite is a miniature, USB programmable timer module. This module can handle more than 100 alarm configurations and trigger the output channel based on the programmed conditions. The timer module can program using SRIKit 's Timer Controller software. All the timer configurations are store in the EEPROM to prevent the loss of data during power failures. Programmable timer module. We design this module around the STM8S001J3M microcontroller and DS3231 real-time clock. AMS1117-3.3 regulator in this module can handle a maximum of 9V DC input without installing an external heatsink. Bottom side of the timer module These programmable timer modules were specifically developed to handle long-duration alarm configurations which span up to years. Firmware of this timer module develops using SDCC version 3.9. Programming utility is a GUI application and develops using Lazarus and FPC toolchain. Both these projects are built and tested on a 64-bit Linux environment. Th...

8-bit assembler compiler project

This project is an assembler compiler to generate a binary executable for 8-bit x86 like CPU systems. This compiler can parse NASM style assembler code and it compatibles with Marco Schweighauser's javascript 8-bit virtual CPU . Compare with Marco Schweighauser's javascript compiler this compiler parse almost same assembler code and generate almost identical executable code. The only difference in this parser is that all the operands are separated by white space(s), and not with the comma ( , ). jmp start hello: db "Hello World!" db 0 start: mov c hello mov d 232 call print hlt print: push a push b mov b 0 loop: mov a [c] mov [d] a inc c inc d cmp b [c] jnz loop pop b pop a ret The output generated by this compiler for " Hello World " sample is listed in below and it can execute directly with Marco Schweighauser's 8-bit virtual CPU . 0000 1F0F 4865 6C6C 6F20 576F 726C 6421 0006 0010 0202 0603 E838 1800 3200 320...

ZFM-20 fingerprint capture library

ZFM-20 is an optical fingerprint sensor module series developed by Zhiantec . Resolution of these fingerprint modules are 256×288 pixels and depending on the module it can be accessible over UART or USB interfaces. Other than capturing fingerprints this module has inbuilt DSP to process and verify captured fingerprints. This ZFM-20 fingerprint library is developed to capture and retrieve fingerprint images from the above sensor module. The main purpose of this library is to use ZFM-20 sensor with PC as a low-cost fingerprint capture unit and because of that, in-module fingerprint processing and verification functions are not implemented in this library. ZFM-20 fingerprint sensor test setup with CH340G serial to USB converter. ZFM20-LIB is x86 native shared library and it's implemented using Lazarus / FPC . This library is developed to use with most of the programming languages which including C , C++ , Delphi , FPC , Microsoft .net framework based languages, etc. Objec...

ImageHide: Digital image based steganography tool

Steganography is a method of hiding information and one of the techniques is to hide an image inside a "cover image" by without distorting the supplied "cover image". ImageHide is command-line driven console application to perform this task and it is capable to hide/embed a colored or gray-scale image inside another color or gray-scale cover image and/or extract an embedded image from the supplied "cover image". This application is developed using FPC / Lazarus and it can execute on any FPC supported operating system which including Linux, Windows, Mac OS, etc. ImageHide is an open source project and its source code is available at https://github.com/dilshan/image-hide under the terms of GNU General Public License version 3.0 . Compiled binaries of ImageHide are also available for both Linux and Windows operating systems. As an input, this application accepts bitmap, PNG or JPEG image formats and it can export the processed image as bitmap or PNG ...

ParseGen - parser generator for FPC

ParseGen is rule driven, parser generator for FPC / Lazarus . ParseGen is design using FPC, FCL and Lazarus and it mainly supports for Windows and Linux operating systems. ParserGen scanner is slight DFA (deterministic finite automaton) state machine. This scanner can operate on case sensitive or case-insensitive modes and it can easily configure/extend through given class structure. The parser of the ParseGen is recursive descent parser. ParseGen generate this parser using high-level source language and this language is logically similar to EBNF grammar. For example, in ParseGen, definition for "term" and "expression" can be written like this: define: expression   optional: "-","+"   end          term          loop: "-","+"     term   end   end define: term   factor   loop: "*","/"     factor   end   end This parser generator...

nanoide – custom build tool with source editor

nanoide is an effort to build scriptable build tool with source code editor. Initially I developed this tool to test some of my ongoing compiler projects and later I extend it with source code editors and with simple UI. nanoide build 138 with sample build script nanoide build system is based on FreePascal style scripting system and it comes with more than 50 inbuilt support functions . With help of nanoide, users can create complex conditional build flows and it helps to automate system testing processes also. Current version (build 145) of nanoide editor support C/C++, Java, Pascal/Delphi/Lazarus, Python, HTML, XML, CSS, Perl, Basic/Visual Basic, SQL, Tex, DOS batch scripts and UNIX\Linux shell scripting. nanoide is developed using Lazarus and it can be compiled and execute on Windows, Linux and Mac OS platforms. Virtually nanoide is compatible with any command line-driven compiler and it is tested with TinyC Compiler , Lua , Python , FPC and with PHP .  ...