Khoi Hoang (khoih-prog)

khoih-prog

Geek Repo

Location:Mississauga, Ontario, Canada

Github PK Tool:Github PK Tool

Khoi Hoang's repositories

WiFiWebServer

This is simple yet complete WebServer library for AVR, Portenta_H7, Teensy, SAM DUE, SAMD, STM32, RP2040-based, etc. boards running WiFi modules/shields (WiFiNINA, CYW43439, U-Blox W101, W102, etc.). The functions are similar and compatible to ESP8266/ESP32 WebServer libraries to make life much easier to port sketches from ESP8266/ESP32. Now using WiFiMulti_Generic library

Language:C++License:MITStargazers:104Issues:4Issues:19

EthernetWebServer_STM32

This is simple yet complete WebServer library for STM32 boards running built-in Ethernet LAN8742A (Nucleo-144, Discovery), ENC28J60 or W5x00 Ethernet shields. The functions are similar and compatible to ESP8266/ESP32 WebServer libraries to make life much easier to port sketches from ESP8266/ESP32. Ethernet_Generic library is used as default for W5x00. Now W5x00 can use any custom hardware / software SPI

Language:C++License:MITStargazers:81Issues:8Issues:7

WebServer_WT32_ETH01

Simple Ethernet WebServer, HTTP/HTTPS Client wrapper library for WT32_ETH01 boards using LAN8720 Ethernet. The WebServer supports HTTP(S) GET and POST requests, provides argument parsing, handles one client at a time. It provides HTTP(S), MQTT(S) Client and supports WebServer serving from LittleFS/SPIFFS. Now supporting ESP32 core v2.0.0+

Language:CLicense:GPL-3.0Stargazers:61Issues:8Issues:5

AsyncTCP_SSL

Asynchronous SSL TCP Library for ESP32, ESP32_C3, ESP32_S2, ESP32_S3. This library is the base for future and more advanced Async SSL libraries, such as AsyncSSLWebServer, AsyncHTTPSRequest

Language:CLicense:LGPL-3.0Stargazers:20Issues:3Issues:1

AsyncWebServer_STM32

AsyncWebServer for STM32 using builtin LAN8742A Ethernet. This AsyncWebServer Library for STM32 is currently working on STM32 boards, such as Nucleo-144 F767ZI, etc., using builtin LAN8742A Ethernet. Now support using CString to save heap to send very large data

Language:CLicense:LGPL-3.0Stargazers:19Issues:4Issues:6

AsyncUDP_WT32_ETH01

Fully Asynchronous UDP Library for WT32_ETH01 (ESP32 + LAN8720). The library is easy to use and includes support for Unicast, Broadcast and Multicast environments.

Language:C++License:GPL-3.0Stargazers:16Issues:2Issues:3

AsyncWebServer_WT32_ETH01

This is Asynchronous HTTP and WebSocket Server Library for WT32_ETH01 (ESP32 + LAN8720). Now supporting using CString to save heap to send very large data and with examples to demo how to use beginChunkedResponse() to send large html in chunks

Language:C++License:GPL-3.0Stargazers:16Issues:3Issues:4

Ethernet_Manager

Simple Ethernet Manager for Teensy, SAM DUE, SAMD21, SAMD51, nRF52, ESP32, ESP8266, etc. boards, with or without SSL, configuration data saved in ESP8266 LittleFS, SPIFFS, nRF52 LittleFS/InternalFS, EEPROM, DueFlashStorage or SAMD FlashStorage.

Language:C++License:MITStargazers:15Issues:3Issues:3

EthernetWebServer_SSL_STM32

EthernetWebServer_STM32 is a library for STM32F/L/H/G/WB/MP1 boards running WebServer using built-in Ethernet LAN8742A, Ethernet LAN8720, W5x00 or ENC28J60 shields. It now supports Ethernet TLS/SSL Client. The library supports HTTP/HTTPS GET and POST requests, provides argument parsing, handles one client at a time. It supports Arduino STM32F/L/H/G/WB/MP1 series with 32+ Kbytes of Flash, using built-in Ethernet (Nucleo-144: F429ZI, F767ZI, Discovery: STM32F746G-DISCOVERY), or ENC28J60, W5x00 Ethernet shields. Ethernet_Generic library is used as default for W5x00. Now W5x00 can use any custom hardware / software SPI

Language:CLicense:GPL-3.0Stargazers:14Issues:4Issues:2

WiFiWebServer_RTL8720

Simple WiFiWebServer, HTTP Client, MQTT and WebSocket Client library for Realtek RTL8720DN, RTL8722DM, RTM8722CSM boards using WiFi. Supporting WiFi at 2.4GHz and 5GHz

Language:C++License:MITStargazers:10Issues:6Issues:7

AsyncWebServer_Ethernet

Asynchronous HTTP and WebSocket Server Library for many boards besides ESP8266, using W5x00 or ENC28J60 Ethernet. Currently supporting only ESP8266. This is Asynchronous HTTP and WebSocket Server Library for ESP8266 using W5x00 or ENC28J60 Ethernet with lwIP_5100, lwIP_5500 or lwIP_enc28j60 library. Now supporting using CString to save heap to send very large data

Language:C++License:GPL-3.0Stargazers:9Issues:2Issues:3

Ethernet_Manager_STM32

Library for configuring/auto(re)connecting W5100/W5200/W5500, ENC28J60 and built-in LAN8742A / LAN8720 Ethernet at runtime using Config Portal. New powerful-yet-simple-to-use feature to enable adding dynamic custom parameters from sketch and input using the same Config Portal. Config Portal will be auto-adjusted to match the number of dynamic parameters. DoubleDetectDetector is used to force Config Portal opening even if the Credentials are still valid. Ethernet_Generic library is used as default for W5x00

Language:C++License:MITStargazers:8Issues:3Issues:1

AsyncUDP_STM32

Asynchronous UDP Library for STM32 using built-in LAN8742A Ethernet

Language:CLicense:MITStargazers:7Issues:2Issues:0

Portenta_H7_AsyncTCP

Asynchronous TCP Library for STM32H7-based Portenta_H7 using mbed_portenta core. This library is the base for future and more advanced Async libraries, such as AsyncWebServer, AsyncHTTPRequest and AsyncHTTPSRequest

Language:C++License:LGPL-3.0Stargazers:7Issues:4Issues:2

functional-vlpp

To provide common C++ construction, including string operation / generic container / linq, function templates to better support C++ functional programming across platforms.

Language:C++License:MITStargazers:5Issues:1Issues:0

Ethernet_Manager_Portenta_H7

Simple Ethernet Manager for Portenta_H7 board using Ethernet from Portenta Vision shield. Config data saved in LittleFS. For configuring/auto(re)connecting Ethernet at runtime. Use much less memory compared to full-fledge WiFiManager. Config Portal (CP) will be auto-adjusted to match the number of dynamic custom parameters. Optional default Credentials to be autoloaded into CP to use or change instead of manually input. Credentials are saved in LittleFS. New powerful-yet-simple-to-use feature to enable adding dynamic parameters from sketch and input using the same CP. DoubleDetectDetector as well as Virtual Switches feature permits entering CP as requested. Configurable HTML Headers, Customs Style, Head Elements, CORS Header

Language:C++License:MITStargazers:4Issues:2Issues:0

Portenta_H7_AsyncUDP

Asynchronous UDP Library for STM32H7-based Portenta_H7 using mbed_portenta core. This library is the base for future and more advanced Async libraries, such as AsyncWebServer, AsyncHTTPRequest, AsyncHTTPSRequest

Language:CLicense:LGPL-3.0Stargazers:4Issues:3Issues:1

AsyncUdp_ESP32_ENC

Fully Asynchronous UDP Library for ESP32 boards using LwIP ENC28J60 Ethernet. The library is easy to use and includes support for Unicast, Broadcast and Multicast environments

Language:C++License:GPL-3.0Stargazers:3Issues:3Issues:1

AsyncUDP_ESP32_W5500

Fully Asynchronous UDP Library for ESP32 boards using LwIP W5500 Ethernet. The library is easy to use and includes support for Unicast, Broadcast and Multicast environments

Language:C++License:GPL-3.0Stargazers:3Issues:3Issues:0

SAMD_Slow_PWM

This library enables you to use Hardware Timers on SAMD21/SAMD51 boards to create and output PWM to pins. These PWM channels, using SAMD21/SAMD51 Hardware Timers, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micros(). That's mandatory if you need to measure some data requiring better accuracy. It now supports 16 ISR-based Timers, while consuming only 1 Hardware Timer. Timers interval is very long (ulong millisecs). The most important feature is they're ISR-based Timers. Therefore, their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. Max PWM frequency is limited at 1000Hz

Language:C++License:MITStargazers:3Issues:3Issues:4

Teensy_Slow_PWM

This library enables you to use ISR-based PWM channels on Teensy boards, such as Teensy 2.x, Teensy LC, Teensy 3.x, Teensy 4.x, Teensy MicroMod, etc., to create and output PWM any GPIO pin. It now supports 16 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These ISR-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using millis() or micros(). That's necessary if you need to control devices requiring high precision

Language:C++License:MITStargazers:3Issues:3Issues:1

AsyncDNSServer_STM32

Asynchronous DNS Server Library for STM32 using built-in LAN8742A Ethernet

Language:C++License:MITStargazers:2Issues:2Issues:0

AsyncDNSServer_WT32_ETH01

Fully Asynchronous DNS Server Library for WT32_ETH01 or ESP32-based boards using LwIP LAN8720 Ethernet. This library is one of the current or future and more advanced Async libraries, such as AsyncWebServer_WT32_ETH01, AsyncHTTPRequest_WT32_ETH01, AsyncHTTPSRequest_WT32_ETH01

Language:CLicense:MITStargazers:2Issues:2Issues:0

AsyncUDP_RP2040W

Fully Asynchronous UDP Library for RASPBERRY_PI_PICO_W using CYW43439 WiFi with arduino-pico core. The library is easy to use and includes support for Unicast, Broadcast and Multicast environments. This library is the base for future and more advanced Async libraries, such as AsyncWebServer_RP2040W, AsyncHTTPRequest_RP2040W, AsyncHTTPSRequest_RP2040W, AsyncDNSServer_RP2040W

Language:C++License:LGPL-3.0Stargazers:2Issues:3Issues:0

STM32_Slow_PWM

This library enables you to use Hardware Timers on STM32F/L/H/G/WB/MP1 boards to create and output PWM to pins. The most important feature is they're purely hardware-based PWM channels. Therefore, their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These hardware timers, using interrupt, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micros(). That's necessary if you need to measure some data requiring better accuracy. PWM feature can now be used. Max PWM frequency is limited at 1000Hz

Language:CLicense:MITStargazers:2Issues:2Issues:0

AsyncDNSServer_ESP32_W5500

Fully Asynchronous DNS Server Library for ESP32 boards using LwIP W5500 Ethernet. This library is one of the current or future and more advanced Async libraries, such as AsyncWebServer_ESP32_W5500, AsyncHTTPRequest_ESP32_W5500, AsyncHTTPSRequest_ESP32_W5500

Language:CLicense:GPL-3.0Stargazers:1Issues:2Issues:0

ATmega_Slow_PWM

This library enables you to use ISR-based PWM channels on AVR ATmega164, ATmega324, ATmega644, ATmega1284 with MCUdude MightyCore, to create and output PWM any GPIO pin. It now supports 16 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These ISR-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using millis() or micros(). That's necessary if you need to control devices requiring high precision. Now you can change the PWM settings on-the-fly

Language:CLicense:MITStargazers:1Issues:2Issues:0

megaAVR_Slow_PWM

This library enables you to use ISR-based PWM channels on Arduino megaAVR boards, such as UNO WiFi Rev2, AVR_Nano_Every, etc., to create and output PWM any GPIO pin. It now supports 16 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These ISR-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using millis() or micros(). That's necessary if you need to control devices requiring high precision. Now supporting MegaCoreX.

Language:CLicense:MITStargazers:1Issues:2Issues:1

ATtiny_Slow_PWM

This library enables you to use ISR-based PWM channels on Arduino AVR ATtiny-based boards (ATtiny3217, etc.), using megaTinyCore, to create and output PWM any GPIO pin. It now supports 64 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These ISR-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using millis() or micros(). That's necessary if you need to control devices requiring high precision. Now you can change the PWM settings on-the-fly

Language:CLicense:MITStargazers:0Issues:2Issues:0

SAMDUE_Slow_PWM

This library enables you to use ISR-based PWM channels on an Arduino SAM_DUE board to create and output PWM any GPIO pin. It now supports 16 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These ISR-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using millis() or micros(). That's necessary if you need to control devices requiring high precision

Language:CLicense:MITStargazers:0Issues:2Issues:0