{"id":19428167,"url":"https://github.com/marlinfirmware/u8glib-hal","last_synced_at":"2025-04-24T17:31:55.487Z","repository":{"id":42481273,"uuid":"109789422","full_name":"MarlinFirmware/U8glib-HAL","owner":"MarlinFirmware","description":"Customized U8glib for use in Marlin 2.0","archived":false,"fork":false,"pushed_at":"2025-04-01T03:40:35.000Z","size":3670,"stargazers_count":47,"open_issues_count":1,"forks_count":34,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-01T04:28:24.609Z","etag":null,"topics":["3d-printing","firmware","lcd-display","library","reprap"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MarlinFirmware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-07T05:08:16.000Z","updated_at":"2025-04-01T03:40:40.000Z","dependencies_parsed_at":"2025-04-01T04:25:55.747Z","dependency_job_id":"c588ffdc-9277-41eb-82ac-318913cbad56","html_url":"https://github.com/MarlinFirmware/U8glib-HAL","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarlinFirmware%2FU8glib-HAL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarlinFirmware%2FU8glib-HAL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarlinFirmware%2FU8glib-HAL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarlinFirmware%2FU8glib-HAL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarlinFirmware","download_url":"https://codeload.github.com/MarlinFirmware/U8glib-HAL/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250674394,"owners_count":21469214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-printing","firmware","lcd-display","library","reprap"],"created_at":"2024-11-10T14:14:19.244Z","updated_at":"2025-04-24T17:31:54.427Z","avatar_url":"https://github.com/MarlinFirmware.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# U8glib-HAL\n\nu8g by Oliver Kraus with extensions for ARM and the Marlin HAL.\n\nThe extensions allow access to the u8g library by \"non native\" CPUs/systems.\n\nAVR, Arduino, and Due access to the library is not changed.\n\nEnabling 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.\n\n### The following files provide the links between the u8g library and the \"non native\" CPUs/systems.\n\n#### `#include \u003cLCD_defines.h\u003e`\nThe `LCD_defines.h` header brings in the top level link file which:\n- Defines link files for SPI routines, delay routines, I2C routines and class definitions.\n- Connects u8g com generic com defines to the desired HAL com routine.\n\n#### `#include \u003cLCD_delay.h\u003e`\nContains code or declarations for the u8g routines:\n- `void U8g_delay(int msec)`\n- `void u8g_MicroDelay(void)`\n- `void u8g_10MicroDelay(void)`\n\n#### `#include \u003cLCD_pin_routines.h\u003e`\nContains code or declarations for the u8g routines:\n- `void u8g_SetPinOutput(uint8_t internal_pin_number)`\n- `void u8g_SetPinInput(uint8_t internal_pin_number)`\n- `void u8g_SetPinLevel(uint8_t  pin, uint8_t  pin_status)`\n- `uint8_t u8g_GetPinLevel(uint8_t pin)`\n\n#### `#include \u003cLCD_I2C_routines.h\u003e`\nContains code or declarations for the u8g routines:\n- `void u8g_i2c_init(uint8_t options)`\n- `uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos)`\n- `uint8_t u8g_i2c_start(uint8_t sla)`\n- `uint8_t u8g_i2c_send_byte(uint8_t data)`\n- `void u8g_i2c_stop(void)`\n\n#### MarlinFirmware Changes\n- Empty constructors are now provided so the u8g instance can be initialized later.\n  Data members are still constructed early when the u8g object is declared static global.\n- 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarlinfirmware%2Fu8glib-hal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarlinfirmware%2Fu8glib-hal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarlinfirmware%2Fu8glib-hal/lists"}