All Projects → MarlinFirmware → U8glib-HAL

MarlinFirmware / U8glib-HAL

Licence: other
Customized U8glib for use in Marlin 2.0

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to U8glib-HAL

Original-CR10-Marlin-Firmware-Source
This is the ORIGINAL Creality CR10 Firmware Source as Creality installs it.
Stars: ✭ 16 (-60%)
Mutual labels:  firmware, 3d-printing, reprap
Marlin
Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. | Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
Stars: ✭ 12,217 (+30442.5%)
Mutual labels:  firmware, 3d-printing, reprap
Marlin Config
Marlin firmware instant configurator
Stars: ✭ 327 (+717.5%)
Mutual labels:  firmware, 3d-printing
octoscreen
A touchscreen client for Octoprint
Stars: ✭ 26 (-35%)
Mutual labels:  3d-printing, reprap
BCN3DSigma-Firmware
Custom Marlin version for the brand new BCN3D Sigma from BCN3D Technologies
Stars: ✭ 81 (+102.5%)
Mutual labels:  firmware, 3d-printing
MK404
A functional Simulator for Prusa (Mini/Einsy) Rambo based printers
Stars: ✭ 52 (+30%)
Mutual labels:  firmware, 3d-printing
voron-ht
Klipper configuration for my Voron 2.4
Stars: ✭ 20 (-50%)
Mutual labels:  firmware, 3d-printing
3d printed keyboard
A fully 3D printed computer keyboard
Stars: ✭ 31 (-22.5%)
Mutual labels:  firmware, 3d-printing
Advi3pp
ADVi3++, an alternative and better firmware for Wanhao i3 Plus printers and clones. Fork of Marlin Firmware.
Stars: ✭ 192 (+380%)
Mutual labels:  firmware, 3d-printing
RepPanel ESP32
Alternative to PanelDue. Embedded UI for Duet & RepRap based 3D printers. Running on the ESP32. Optimized for 3.5" displays. WiFi or UART connectivity.
Stars: ✭ 88 (+120%)
Mutual labels:  3d-printing, reprap
Klipper-Firmware-FLSUN-QQ-S-Pro-Delta-Printer
Firmware configuration files and instructions on how to get the Klipper ecosystem running on the FLSUN QQ-S Pro delta 3D printer
Stars: ✭ 51 (+27.5%)
Mutual labels:  firmware, 3d-printing
mini-map-maker
A tool for automatically generating 3D printable STLs from freely available lidar scan data.
Stars: ✭ 51 (+27.5%)
Mutual labels:  3d-printing
Gesture-Detecting-Macro-Keyboard
Glorified Bluetooth macro keyboard with machine learning (TensorFlow Lite for Microcontrollers) running on an ESP32.
Stars: ✭ 68 (+70%)
Mutual labels:  3d-printing
JBC SolderingStation
JBC_SolderingStation
Stars: ✭ 63 (+57.5%)
Mutual labels:  lcd-display
RoverController
LoRa/WiFi remote controller for driving my rover
Stars: ✭ 87 (+117.5%)
Mutual labels:  3d-printing
unifi-controllable-switch
TOUGHswitch firmware to integrate with the UniFi Controller (experimental).
Stars: ✭ 24 (-40%)
Mutual labels:  firmware
OctoPrint-MultiColors
Inject GCODE at specified layers to allow multi color printing via filament change
Stars: ✭ 20 (-50%)
Mutual labels:  3d-printing
Rockbox-RCC
Various enhancements of new features and human-based design.
Stars: ✭ 34 (-15%)
Mutual labels:  firmware
adbtools2
Tools for hacking ADB Epicentro routers, including firmware modification and VOIP password recovery.
Stars: ✭ 36 (-10%)
Mutual labels:  firmware
vrEmuLcd
Character LCD emulator library (C99 engine, web front-end).
Stars: ✭ 45 (+12.5%)
Mutual labels:  lcd-display

U8glib-HAL

u8g by Oliver Kraus with extensions for ARM and the Marlin HAL.

The extensions allow access to the u8g library by "non native" CPUs/systems.

AVR, Arduino, and Due access to the library is not changed.

Enabling the extensions by defining the flag U8G_HAL_LINKS. This can be done in platformio.ini by adding -DU8G_HAL_LINKS to any environment's build flags.

The following files provide the links between the u8g library and the "non native" CPUs/systems.

#include <LCD_defines.h>

The LCD_defines.h header brings in the top level link file which:

  • Defines link files for SPI routines, delay routines, I2C routines and class definitions.
  • Connects u8g com generic com defines to the desired HAL com routine.

#include <LCD_delay.h>

Contains code or declarations for the u8g routines:

  • void U8g_delay(int msec)
  • void u8g_MicroDelay(void)
  • void u8g_10MicroDelay(void)

#include <LCD_pin_routines.h>

Contains code or declarations for the u8g routines:

  • void u8g_SetPinOutput(uint8_t internal_pin_number)
  • void u8g_SetPinInput(uint8_t internal_pin_number)
  • void u8g_SetPinLevel(uint8_t pin, uint8_t pin_status)
  • uint8_t u8g_GetPinLevel(uint8_t pin)

#include <LCD_I2C_routines.h>

Contains code or declarations for the u8g routines:

  • void u8g_i2c_init(uint8_t options)
  • uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos)
  • uint8_t u8g_i2c_start(uint8_t sla)
  • uint8_t u8g_i2c_send_byte(uint8_t data)
  • void u8g_i2c_stop(void)

MarlinFirmware Changes

  • Empty constructors are now provided so the u8g instance can be initialized later. Data members are still constructed early when the u8g object is declared static global.
  • Constructors that just take an "options" argument now require the argument (e.g., U8G_I2C_OPT_NONE) or they will be treated as default empty constructors and won't be initialized.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].