Skip to content

Commit d12be76

Browse files
committed
added preliminary libshims linking solution
1 parent e4380d9 commit d12be76

File tree

6 files changed

+230
-5
lines changed

6 files changed

+230
-5
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*.o
2+
osd_dji
3+
msp_displayport_mux

Makefile.dji

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,39 @@ CFLAGS=-I. -O2
33
DEPS = msp.h msp_displayport.h network.h serial.h
44
DISPLAYPORT_MUX_OBJ = msp_displayport_mux.o serial.o network.o msp.o
55
OSD_DJI_OBJ = osd_dji_udp.o network.o msp.o msp_displayport.o dji_display.o dji_services.o
6-
OSD_DJI_LIBS := -lduml_hal
7-
ifneq ($(DJI_LIB_PATH),)
8-
OSD_DJI_LIBS := -L$(DJI_LIB_PATH) -lduml_hal
9-
endif
6+
LIB_SHIMS = libshims/libduml_hal.so
7+
#OSD_DJI_LIBS := -lduml_hal
8+
#ifneq ($(DJI_LIB_PATH),)
9+
OSD_DJI_LIBS := -L./libshims -lduml_hal
10+
#endif
11+
12+
.PHONY: libshims
1013

1114
%.o: %.c $(DEPS)
1215
$(CC) -c -o $@ $< $(CFLAGS)
1316

17+
all: msp_displayport_mux osd_dji
18+
1419
msp_displayport_mux: $(DISPLAYPORT_MUX_OBJ)
1520
$(CC) -o $@ $^ $(CFLAGS)
1621

1722
osd_dji: $(OSD_DJI_OBJ)
23+
$(MAKE) -f Makefile.dji libshims
1824
$(CC) -o $@ $^ $(CFLAGS) $(OSD_DJI_LIBS)
1925

26+
#this doesn't work by default
27+
#an extra duss_result_t(frame_pop_handler)
28+
#is generated that the compiler doesn't like
29+
libshims/%.c: %.h
30+
stubgen -g -e .c -l -N -t libshims -p "../" -n $<
31+
32+
libshims/lib%.so: libshims/%.c
33+
$(CC) -Wno-c2x-extensions -O2 -shared -o $@ $<
34+
35+
libshims: $(LIB_SHIMS)
36+
2037
clean:
2138
rm -rf *.o
39+
rm -rf libshims/*.so
40+
rm -rf msp_displayport_mux
41+
rm -rf osd_dji

dji_display.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "duss_hal.h"
1+
#include "duml_hal.h"
22

33
typedef struct dji_display_state_s {
44
duss_disp_plane_id_t plane_id;

duss_hal.h renamed to duml_hal.h

File renamed without changes.

libshims/duml_hal.c

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
#include "../duml_hal.h"
2+
3+
duss_result_t duss_hal_initialize(duss_hal_device_desc_t *)
4+
{
5+
duss_result_t dummy;
6+
7+
return dummy;
8+
}
9+
10+
11+
duss_result_t duss_hal_deinitialize()
12+
{
13+
duss_result_t dummy;
14+
15+
return dummy;
16+
}
17+
18+
19+
duss_result_t duss_hal_device_open(char *device_name, void *unknown, duss_hal_obj_handle_t *)
20+
{
21+
duss_result_t dummy;
22+
23+
return dummy;
24+
}
25+
26+
27+
duss_result_t duss_hal_device_start(duss_hal_obj_handle_t, void *)
28+
{
29+
duss_result_t dummy;
30+
31+
return dummy;
32+
}
33+
34+
35+
duss_result_t duss_hal_device_close(duss_hal_obj_handle_t)
36+
{
37+
duss_result_t dummy;
38+
39+
return dummy;
40+
}
41+
42+
43+
duss_result_t duss_hal_device_stop(duss_hal_obj_handle_t)
44+
{
45+
duss_result_t dummy;
46+
47+
return dummy;
48+
}
49+
50+
51+
duss_result_t duss_hal_mem_alloc(duss_hal_obj_handle_t, duss_hal_mem_handle_t *, uint32_t size, uint32_t, uint32_t, uint32_t)
52+
{
53+
duss_result_t dummy;
54+
55+
return dummy;
56+
}
57+
58+
59+
duss_result_t duss_hal_mem_get_phys_addr(duss_hal_mem_handle_t, void **)
60+
{
61+
duss_result_t dummy;
62+
63+
return dummy;
64+
}
65+
66+
67+
duss_result_t duss_hal_mem_map(duss_hal_mem_handle_t, void **)
68+
{
69+
duss_result_t dummy;
70+
71+
return dummy;
72+
}
73+
74+
75+
duss_result_t duss_hal_mem_free(duss_hal_mem_handle_t)
76+
{
77+
duss_result_t dummy;
78+
79+
return dummy;
80+
}
81+
82+
83+
duss_result_t duss_hal_mem_sync(duss_hal_mem_handle_t, uint32_t)
84+
{
85+
duss_result_t dummy;
86+
87+
return dummy;
88+
}
89+
90+
91+
duss_result_t duss_hal_display_open(duss_hal_obj_handle_t, duss_disp_instance_handle_t **, duss_disp_vop_id_t)
92+
{
93+
duss_result_t dummy;
94+
95+
return dummy;
96+
}
97+
98+
99+
duss_result_t duss_hal_display_close(duss_hal_obj_handle_t, duss_disp_instance_handle_t **)
100+
{
101+
duss_result_t dummy;
102+
103+
return dummy;
104+
}
105+
106+
107+
duss_result_t duss_hal_display_aquire_plane(duss_disp_instance_handle_t *, duss_disp_plane_type_t, duss_disp_plane_id_t *)
108+
{
109+
duss_result_t dummy;
110+
111+
return dummy;
112+
}
113+
114+
115+
duss_result_t duss_hal_display_reset(duss_disp_instance_handle_t *)
116+
{
117+
duss_result_t dummy;
118+
119+
return dummy;
120+
}
121+
122+
123+
duss_result_t duss_hal_display_register_frame_cycle_callback(duss_disp_instance_handle_t *, duss_disp_plane_id_t, frame_pop_handler *, void *)
124+
{
125+
duss_result_t dummy;
126+
127+
return dummy;
128+
}
129+
130+
131+
duss_result_t duss_hal_display_timing_detail_get(duss_disp_instance_handle_t *, duss_disp_timing_detail_t *)
132+
{
133+
duss_result_t dummy;
134+
135+
return dummy;
136+
}
137+
138+
139+
duss_result_t duss_hal_display_port_enable(duss_disp_instance_handle_t *, duss_disp_port_id_t, uint8_t)
140+
{
141+
duss_result_t dummy;
142+
143+
return dummy;
144+
}
145+
146+
147+
duss_result_t duss_hal_display_plane_blending_set(duss_disp_instance_handle_t *, duss_disp_plane_id_t, duss_disp_plane_blending_t *)
148+
{
149+
duss_result_t dummy;
150+
151+
return dummy;
152+
}
153+
154+
155+
duss_result_t duss_hal_display_release_plane(duss_disp_instance_handle_t *, duss_disp_plane_id_t)
156+
{
157+
duss_result_t dummy;
158+
159+
return dummy;
160+
}
161+
162+
163+
duss_result_t duss_hal_display_push_frame(duss_disp_instance_handle_t *, duss_disp_plane_id_t, duss_frame_buffer_t *)
164+
{
165+
duss_result_t dummy;
166+
167+
return dummy;
168+
}
169+
170+
171+
duss_result_t duss_hal_attach_disp(char *param_1, duss_hal_obj **param_2)
172+
{
173+
duss_result_t dummy;
174+
175+
return dummy;
176+
}
177+
178+
179+
duss_result_t duss_hal_attach_ion_mem(char *param_1, duss_hal_obj **param_2)
180+
{
181+
duss_result_t dummy;
182+
183+
return dummy;
184+
}
185+
186+
187+
duss_result_t duss_hal_detach_ion_mem()
188+
{
189+
duss_result_t dummy;
190+
191+
return dummy;
192+
}
193+
194+
195+
duss_result_t duss_hal_detach_disp()
196+
{
197+
duss_result_t dummy;
198+
199+
return dummy;
200+
}
201+
202+

libshims/libduml_hal.so

5.77 KB
Binary file not shown.

0 commit comments

Comments
 (0)