picofuse

ili9341.h
Go to the documentation of this file.
1 
17 #pragma once
18 
19 #include <picofuse/hw.h>
20 #include <picofuse/pix.h>
21 #include <stdbool.h>
22 #include <stdint.h>
23 
25 // CONSTANTS
26 
32 #define DEV_ILI9341_WIDTH 240u
33 
39 #define DEV_ILI9341_HEIGHT 320u
40 
42 // TYPES
43 
49 
54 typedef struct {
55  uint16_t rotation;
61 
63 // LIFECYCLE
64 
74 
92  hw_gpio_t *rst_pin,
93  const dev_ili9341_config_t *config);
94 
102 void dev_ili9341_deinit(dev_ili9341_t *ili9341);
103 
106 // PROPERTIES
108 
119 void dev_ili9341_size(const dev_ili9341_t *ili9341, pix_size_t *out_size);
120 
123 // METHODS
125 
147 bool dev_ili9341_write(dev_ili9341_t *ili9341, pix_point_t origin,
148  const pix_bitmap_t *bitmap);
149 
struct hw_deviceio_t hw_deviceio_t
Opaque device I/O handle.
Definition: deviceio.h:48
struct hw_gpio_t hw_gpio_t
GPIO logical pin structure.
Definition: gpio.h:50
Optional ILI9341 initialization options.
Definition: ili9341.h:54
Plain in-memory pixel bitmap descriptor.
Definition: bitmap.h:26
dev_ili9341_t * dev_ili9341_init(hw_deviceio_t *device, hw_gpio_t *dc_pin, hw_gpio_t *rst_pin, const dev_ili9341_config_t *config)
Initialize an ILI9341-driven display over SPI.
void dev_ili9341_deinit(dev_ili9341_t *ili9341)
Deinitialize an ILI9341 handle.
void dev_ili9341_size(const dev_ili9341_t *ili9341, pix_size_t *out_size)
Get the display size at the configured rotation.
Hardware abstraction headers for on-board peripherals.
struct dev_ili9341_t dev_ili9341_t
Opaque ILI9341 handle.
Definition: ili9341.h:48
Point structure representing X,Y coordinates.
Definition: types.h:17
Pixel graphics library.
uint16_t rotation
Initial rotation in degrees clockwise - one of 0 (default), 90, 180, or 270.
Definition: ili9341.h:55
Size structure representing width and height dimensions.
Definition: types.h:26
bool dev_ili9341_write(dev_ili9341_t *ili9341, pix_point_t origin, const pix_bitmap_t *bitmap)
Write a rectangular block of pixels.
void dev_ili9341_default_config(dev_ili9341_config_t *config)
Fill an ILI9341 config struct with safe defaults.