https://github.com/norgate-av/navfoundation.amx
A collection of libraries for NetLinx software development
https://github.com/norgate-av/navfoundation.amx
amx c functions harman helpers library netlinx rms utils
Last synced: 4 months ago
JSON representation
A collection of libraries for NetLinx software development
- Host: GitHub
- URL: https://github.com/norgate-av/navfoundation.amx
- Owner: Norgate-AV
- License: mit
- Created: 2023-02-23T22:38:39.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2026-02-11T17:32:34.000Z (5 months ago)
- Last Synced: 2026-02-12T01:53:10.872Z (5 months ago)
- Topics: amx, c, functions, harman, helpers, library, netlinx, rms, utils
- Language: NetLinx
- Homepage:
- Size: 3.82 MB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# NAVFoundation.Amx
---
[](https://github.com/Norgate-AV/NAVFoundation.Amx/actions/workflows/main.yml)
[](https://conventionalcommits.org)
[](https://github.com/Norgate-AV/NAVFoundation.Amx/graphs/contributors)
[](LICENSE)
---
The NAVFoundation project is a collection of libraries for working with AMX devices. It's purpose is to provide a base for building NetLinx applications using modern programming techniques and patterns.
It builds on top of the NetLinx standard library to provide a set of higher level functions and utilities that are commonly used and taken for granted in other modern languages.
It's feature rich and written in pure NetLinx.
## Contents :book:
- [Key Features :sparkles:](#key-features-sparkles)
- [Installation :zap:](#installation-zap)
- [Documentation :page_facing_up:](#documentation-page_facing_up)
- [Libraries :books:](#libraries-books)
- [Support :question:](#support-question)
- [Team :soccer:](#team-soccer)
- [Contributors :sparkles:](#contributors-sparkles)
- [LICENSE :balance_scale:](#license-balance_scale)
## Key Features :sparkles:
- Modern, object-oriented approach to NetLinx programming
- Comprehensive utility libraries for common tasks
- Well-tested and production-ready components
- Consistent API design across all modules
- Extensive error handling and logging capabilities
## Installation :zap:
This library can be installed using [Scoop](https://scoop.sh/).
```powershell
# If you don't have sudo installed - Required to create symlinks in the AMX directory
scoop install gsudo
# Add the Norgate-AV AMX bucket
scoop bucket add norgateav-amx https://github.com/Norgate-AV/scoop-norgateav-amx
# Install NAVFoundation.Amx
sudo scoop install navfoundation-amx
```
## Usage :rocket:
To use the NAVFoundation.Amx libraries in your NetLinx project, simply include the desired library files in your project.
### Example
To use the `StringUtils` library, you would include it as follows:
```c
#include 'NAVFoundation.StringUtils.axi'
```
To use the `ArrayUtils` library, you would include it as follows:
```c
#include 'NAVFoundation.ArrayUtils.axi'
```
## Documentation :page_facing_up:
For more detailed guides and documentation, please refer the `README.md` files in each library folder.
## Libraries :books:
- [Core](./Core)
- Provides a set of core constants, types, and functions for AMX programming.
- [ArrayUtils](./ArrayUtils)
- Provides utility functions for working with arrays in AMX.
- [Assert](./Assert)
- Provides assertion functions for testing and debugging.
- [BinaryUtils](./BinaryUtils)
- Provides functions for binary data manipulation and conversion.
- [Cryptography](./Cryptography)
- Provides cryptographic functions and utilities for secure data handling.
- [CsvUtils](./CsvUtils)
- Provides functions for parsing and generating CSV data.
- [DateTimeUtils](./DateTimeUtils)
- Provides utility functions for date and time manipulation.
- [Encoding](./Encoding)
- Provides functions for encoding and decoding data in various formats.
- [Enova](./Enova)
- Provides functions for interacting with Enova switchers.
- [ErrorLogUtils](./ErrorLogUtils)
- Provides functions for error logging and handling.
- [Figlet](./Figlet)
- Provides functions for generating ASCII art text using FIGlet fonts.
- [FileUtils](./FileUtils)
- Provides utility functions for file operations and management.
- [HashTable](./HashTable)
- Provides a hash table implementation for key-value storage.
- [HttpUtils](./HttpUtils)
- Provides functions for HTTP requests and responses.
- [IniUtils](./IniUtils)
- Provides functions for parsing and working with INI configuration files.
- [Int64](./Int64)
- [InterModuleApi](./InterModuleApi)
- [Jsmn](./Jsmn)
- Provides a JSON parser for AMX.
- [Json](./Json)
- Provides functions for working with JSON data.
- [Jwt](./Jwt)
- Provides functions for working with JSON Web Tokens (JWT).
- [List](./List)
- Provides an array-based list implementation.
- [LogicEngine](./LogicEngine)
- [Math](./Math)
- Provides mathematical functions and utilities.
- [McpBase](./McpBase)
- [ModuleBase](./ModuleBase)
- [NetUtils](./NetUtils)
- Provides network-related utility functions.
- [NtpUtils](./NtpUtils)
- Provides functions for working with NTP (Network Time Protocol).
- [PathUtils](./PathUtils)
- Provides utility functions for file path manipulation.
- [Queue](./Queue)
- Provides an array-based queue implementation.
- [Regex](./Regex)
- Provides regular expression matching and manipulation functions.
- [Redis](./Redis)
- [RmsBase](./RmsBase)
- [SnapiHelpers](./SnapiHelpers)
- Provides helper functions for SNAPI communication.
- [SocketUtils](./SocketUtils)
- Provides functions for socket communication.
- [Stack](./Stack)
- [Stopwatch](./Stopwatch)
- Provides a stopwatch utility for timing operations.
- [StringUtils](./StringUtils)
- Provides utility functions for string manipulation.
- [TimelineUtils](./TimelineUtils)
- Provides functions for working with timelines.
- [Toml](./Toml)
- Provides functions for parsing and working with TOML configuration files.
- [Tui](./Tui)
- [UIUtils](./UIUtils)
- [Url](./Url)
- Provides functions for URL manipulation and encoding.
- [WebSocket](./WebSocket)
- Provides a WebSocket client implementation for AMX.
- [Xml](./Xml)
- Provides functions for working with XML data.
- [Yaml](./Yaml)
- Provides functions for working with YAML data.
## Support :question:
If you have any questions or issues, please open an issue on the [GitHub repository](https://github.com/Norgate-AV/NAVFoundation.Amx/issues).
## Team :soccer:
This project is maintained by the following person(s) and a bunch of [awesome contributors](https://github.com/Norgate-AV/NAVFoundation.Amx/graphs/contributors).
## Contributors :sparkles:
[](#contributors-sparkles)
Thanks go to these awesome people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
This project follows the [all-contributors](https://allcontributors.org) specification.
Contributions of any kind are welcome!
Check out the [contributing guide](CONTRIBUTING.md) for more information.
## LICENSE :balance_scale:
[MIT](LICENSE)