Skip to content

Commit 05ed86a

Browse files
committed
Gets unix/macos port to compile and fixes compilation for ESP32
1 parent 98f65e4 commit 05ed86a

File tree

19 files changed

+113
-81
lines changed

19 files changed

+113
-81
lines changed

ext_mod/lcd_bus/common_include/lcd_bus_task.h

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,25 @@
33
#ifndef __LCD_BUS_TASK_H__
44
#define __LCD_BUS_TASK_H__
55

6-
typedef struct _lcd_bus_lock_t {
6+
struct _lcd_bus_lock_t {
77
void *handle;
88
void *buffer;
9-
} lcd_bus_lock_t;
9+
};
1010

11-
typedef struct _lcd_bus_event_t {
11+
struct _lcd_bus_event_t {
1212
void *handle;
1313
void *buffer;
14-
} lcd_bus_event_t;
15-
16-
void lcd_bus_event_init(lcd_bus_event_t *event);
17-
14+
};
1815

1916
#define lcd_bus_event_wait(event)
2017
#define lcd_bus_event_set(event)
2118
#define lcd_bus_event_clear(event)
2219
#define lcd_bus_event_clear_from_isr(event)
2320
#define lcd_bus_event_set_from_isr(event)
2421

25-
void lcd_bus_event_delete(lcd_bus_event_t *event);
26-
bool lcd_bus_event_isset(lcd_bus_event_t *event);
27-
bool lcd_bus_event_isset_from_isr(lcd_bus_event_t *event);
28-
29-
3022
#define lcd_bus_lock_acquire(lock)
3123
#define lcd_bus_lock_release(lock)
3224
#define lcd_bus_lock_release_from_isr(lock)
3325
#define lcd_bus_lock_delete(lock)
3426

35-
void lcd_bus_lock_init(lcd_bus_lock_t *lock);
36-
37-
void lcd_bus_task(void *self_in);
38-
3927
#endif

ext_mod/lcd_bus/common_src/allocate_buffers.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1+
#include <stdint.h>
2+
#include <inttypes.h>
3+
14
#include "allocate_buffers.h"
5+
#include "py/obj.h"
6+
#include "py/runtime.h"
7+
#include "py/misc.h"
8+
29

310
int allocate_buffers(uint8_t num_buffs, size_t buf_size, uint8_t *buf1, uint8_t *buf2)
411
{
@@ -8,7 +15,7 @@ int allocate_buffers(uint8_t num_buffs, size_t buf_size, uint8_t *buf1, uint8_t
815
} else if (num_buffs == 2) {
916
buf2 = m_malloc(buf_size);
1017
if (buf2 == NULL) {
11-
m_free(buf1)
18+
m_free(buf1);
1219
buf1 = NULL;
1320
return -1;
1421
} else {

ext_mod/lcd_bus/common_src/bus_trans_done.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1+
#include <stdbool.h>
2+
#include "bus_trans_done.h"
3+
#include "lcd_types.h"
14

5+
#include "py/obj.h"
6+
#include "py/runtime.h"
27

38

49
bool bus_trans_done_cb(void *user_ctx)

ext_mod/lcd_bus/common_src/lcd_bus_task.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#include "lcd_bus_task.h"
44
#include "lcd_types.h"
55

6-
76
void lcd_bus_event_init(lcd_bus_event_t *event) { }
87

98
void lcd_bus_event_delete(lcd_bus_event_t *event) { }
@@ -18,6 +17,10 @@ bool lcd_bus_event_isset_from_isr(lcd_bus_event_t *event) { return false; }
1817
void lcd_bus_lock_init(lcd_bus_lock_t *lock) { }
1918

2019

20+
void lcd_bus_task(void *self_in) { }
21+
22+
23+
2124
static void rgb565_byte_swap(void *buf, size_t buf_size_px)
2225
{
2326
uint16_t *buf16 = (uint16_t *)buf;
@@ -27,6 +30,3 @@ static void rgb565_byte_swap(void *buf, size_t buf_size_px)
2730
}
2831
}
2932

30-
31-
void lcd_bus_task(void *self_in) { }
32-
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright (c) 2024 - 2025 Kevin G. Schlosser
2+
3+
// local includes
4+
#include "lcd_types.h"
5+
#include "modlcd_bus.h"
6+
#include "led_bus.h"
7+
8+
// micropython includes
9+
#include "py/obj.h"
10+
#include "py/runtime.h"
11+
12+
// stdlib includes
13+
#include <string.h>
14+
15+
16+
mp_obj_t mp_lcd_led_bus_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *all_args)
17+
{
18+
LCD_UNUSED(type);
19+
LCD_UNUSED(n_args);
20+
LCD_UNUSED(n_kw);
21+
LCD_UNUSED(all_args);
22+
23+
mp_raise_msg(&mp_type_NotImplementedError, MP_ERROR_TEXT("LED display bus is not supported"));
24+
return mp_const_none;
25+
}
26+
27+
28+
MP_DEFINE_CONST_OBJ_TYPE(
29+
mp_lcd_led_bus_type,
30+
MP_QSTR_LEDBus,
31+
MP_TYPE_FLAG_NONE,
32+
make_new, mp_lcd_led_bus_make_new,
33+
locals_dict, (mp_obj_dict_t *)&mp_lcd_bus_locals_dict
34+
);

ext_mod/lcd_bus/common_src/spi_bus.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ static MP_DEFINE_CONST_DICT(mp_lcd_spi_bus_locals_dict, mp_lcd_spi_bus_locals_di
360360
*/
361361
MP_DEFINE_CONST_OBJ_TYPE(
362362
mp_lcd_spi_bus_type,
363-
MP_QSTR_SPI_Bus,
363+
MP_QSTR_SPIBus,
364364
MP_TYPE_FLAG_NONE,
365365
make_new, mp_lcd_spi_bus_make_new,
366366
locals_dict, (mp_obj_dict_t *)&mp_lcd_bus_locals_dict

ext_mod/lcd_bus/esp32_include/lcd_bus_task.h

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,37 +8,25 @@
88
#ifndef __LCD_BUS_TASK_H__
99
#define __LCD_BUS_TASK_H__
1010

11-
typedef struct _lcd_bus_lock_t {
11+
struct _lcd_bus_lock_t {
1212
SemaphoreHandle_t handle;
1313
StaticSemaphore_t buffer;
14-
} lcd_bus_lock_t;
14+
};
1515

16-
typedef struct _lcd_bus_event_t {
16+
struct _lcd_bus_event_t {
1717
EventGroupHandle_t handle;
1818
StaticEventGroup_t buffer;
19-
} lcd_bus_event_t;
20-
21-
void lcd_bus_event_init(lcd_bus_event_t *event);
22-
19+
};
2320

2421
#define lcd_bus_event_wait(event) xEventGroupWaitBits(event.handle, (1 << 0), pdFALSE, pdTRUE, portMAX_DELAY)
2522
#define lcd_bus_event_set(event) xEventGroupSetBits(event.handle, (1 << 0))
2623
#define lcd_bus_event_clear(event) xEventGroupClearBits(event.handle, (1 << 0))
2724
#define lcd_bus_event_clear_from_isr(event) xEventGroupClearBitsFromISR(event.handle, (1 << 0))
2825
#define lcd_bus_event_set_from_isr(event) xEventGroupSetBitsFromISR(event.handle, (1 << 0), pdFALSE)
2926

30-
void lcd_bus_event_delete(lcd_bus_event_t *event);
31-
bool lcd_bus_event_isset(lcd_bus_event_t *event);
32-
bool lcd_bus_event_isset_from_isr(lcd_bus_event_t *event);
33-
34-
3527
#define lcd_bus_lock_acquire(lock) xSemaphoreTake(lock.handle, portMAX_DELAY)
3628
#define lcd_bus_lock_release(lock) xSemaphoreGive(lock.handle)
3729
#define lcd_bus_lock_release_from_isr(lock) xSemaphoreGiveFromISR(lock.handle, pdFALSE)
3830
#define lcd_bus_lock_delete(lock) vSemaphoreDelete(lock.handle)
3931

40-
void lcd_bus_lock_init(lcd_bus_lock_t *lock);
41-
42-
void lcd_bus_task(void *self_in);
43-
4432
#endif

ext_mod/lcd_bus/esp32_src/dsi_bus.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@
289289

290290
xTaskCreatePinnedToCore(
291291
lcd_bus_task, "dsi_task", LCD_DEFAULT_STACK_SIZE / sizeof(StackType_t),
292-
self, ESP_TASK_PRIO_MAX - 1, &self->task.handle, 0);
292+
self, ESP_TASK_PRIO_MAX - 1, (TaskHandle_t *)&self->task.handle, 0);
293293

294294
lcd_bus_lock_acquire(self->init.lock);
295295
lcd_bus_lock_release(self->init.lock);

ext_mod/lcd_bus/esp32_src/i2c_bus.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ mp_lcd_err_t i2c_init(mp_lcd_bus_obj_t *self_in, uint16_t width, uint16_t height
189189

190190
xTaskCreatePinnedToCore(
191191
lcd_bus_task, "i2c_task", LCD_DEFAULT_STACK_SIZE / sizeof(StackType_t),
192-
self, ESP_TASK_PRIO_MAX - 1, &self->task.handle, 0);
192+
self, ESP_TASK_PRIO_MAX - 1, (TaskHandle_t *)&self->task.handle, 0);
193193

194194
lcd_bus_lock_acquire(self->init.lock);
195195
lcd_bus_lock_release(self->init.lock);

ext_mod/lcd_bus/esp32_src/i80_bus.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
}
132132

133133
for (; i < tuple->len; i++) {
134-
self->bus_config.data_gpio_nums[i] = (int)mp_obj_get_int(tuple->items[i])
134+
self->bus_config.data_gpio_nums[i] = (int)mp_obj_get_int(tuple->items[i]);
135135
}
136136

137137
for (i++; i < SOC_LCD_I80_BUS_WIDTH; i++) {
@@ -228,7 +228,7 @@
228228

229229
xTaskCreatePinnedToCore(
230230
lcd_bus_task, "i80_task", LCD_DEFAULT_STACK_SIZE / sizeof(StackType_t),
231-
self, ESP_TASK_PRIO_MAX - 1, &self->task.handle, 0);
231+
self, ESP_TASK_PRIO_MAX - 1, (TaskHandle_t *)&self->task.handle, 0);
232232

233233
lcd_bus_lock_acquire(self->init.lock);
234234
lcd_bus_lock_release(self->init.lock);

0 commit comments

Comments
 (0)