nwlink 0.0.10 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,7 +13,7 @@ source emsdk/emsdk_env.sh
13
13
  rm -rf build
14
14
  mkdir build
15
15
  cd build
16
- SFLAGS="-Os -flto -sENVIRONMENT=web -sMODULARIZE -sEXPORTED_RUNTIME_METHODS=['FS']"
16
+ SFLAGS="-Os -flto -sENVIRONMENT=web,node -sALLOW_MEMORY_GROWTH -sMODULARIZE -sEXPORTED_RUNTIME_METHODS=['FS']"
17
17
  emconfigure ../configure \
18
18
  --host=wasm32 \
19
19
  --target=arm-none-eabi \
package/dist/eadk/eadk.h CHANGED
@@ -2,9 +2,11 @@
2
2
  #define EADK_H
3
3
 
4
4
  #include <stdbool.h>
5
+ #include <stddef.h>
5
6
  #include <stdint.h>
6
7
 
7
8
  // Types and constants
9
+
8
10
  typedef uint16_t eadk_color_t;
9
11
 
10
12
  static const eadk_color_t eadk_color_black = 0x0;
@@ -25,7 +27,11 @@ typedef struct {
25
27
  uint16_t height;
26
28
  } eadk_rect_t;
27
29
 
28
- static const eadk_rect_t eadk_screen_rect = {0, 0, 320, 240};
30
+ // Keyboard and Events
31
+
32
+ #define EADK_SCREEN_WIDTH 320
33
+ #define EADK_SCREEN_HEIGTH 240
34
+ static const eadk_rect_t eadk_screen_rect = {0, 0, EADK_SCREEN_WIDTH, EADK_SCREEN_HEIGTH};
29
35
 
30
36
  typedef uint64_t eadk_keyboard_state_t;
31
37
  typedef enum {
@@ -77,37 +83,173 @@ typedef enum {
77
83
  eadk_key_exe = 52
78
84
  } eadk_key_t;
79
85
 
86
+ eadk_keyboard_state_t eadk_keyboard_scan();
80
87
  static inline bool eadk_keyboard_key_down(eadk_keyboard_state_t state, eadk_key_t key) {
81
88
  return (state>>(uint8_t)key) & 1;
82
89
  }
83
90
 
91
+ typedef uint16_t eadk_event_t;
92
+ enum {
93
+ eadk_event_left = 0,
94
+ eadk_event_up = 1,
95
+ eadk_event_down = 2,
96
+ eadk_event_right = 3,
97
+ eadk_event_ok = 4,
98
+ eadk_event_back = 5,
99
+ eadk_event_shift = 12,
100
+ eadk_event_alpha = 13,
101
+ eadk_event_xnt = 14,
102
+ eadk_event_var = 15,
103
+ eadk_event_toolbox = 16,
104
+ eadk_event_backspace = 17,
105
+ eadk_event_exp = 18,
106
+ eadk_event_ln = 19,
107
+ eadk_event_log = 20,
108
+ eadk_event_imaginary = 21,
109
+ eadk_event_comma = 22,
110
+ eadk_event_power = 23,
111
+ eadk_event_sine = 24,
112
+ eadk_event_cosine = 25,
113
+ eadk_event_tangent = 26,
114
+ eadk_event_pi = 27,
115
+ eadk_event_sqrt = 28,
116
+ eadk_event_square = 29,
117
+ eadk_event_seven = 30,
118
+ eadk_event_eight = 31,
119
+ eadk_event_nine = 32,
120
+ eadk_event_left_parenthesis = 33,
121
+ eadk_event_right_parenthesis = 34,
122
+ eadk_event_four = 36,
123
+ eadk_event_five = 37,
124
+ eadk_event_six = 38,
125
+ eadk_event_multiplication = 39,
126
+ eadk_event_division = 40,
127
+ eadk_event_one = 42,
128
+ eadk_event_two = 43,
129
+ eadk_event_three = 44,
130
+ eadk_event_plus = 45,
131
+ eadk_event_minus = 46,
132
+ eadk_event_zero = 48,
133
+ eadk_event_dot = 49,
134
+ eadk_event_ee = 50,
135
+ eadk_event_ans = 51,
136
+ eadk_event_exe = 52,
137
+ eadk_event_shift_left = 54,
138
+ eadk_event_shift_up = 55,
139
+ eadk_event_shift_down = 56,
140
+ eadk_event_shift_right = 57,
141
+ eadk_event_alpha_lock = 67,
142
+ eadk_event_cut = 68,
143
+ eadk_event_copy = 69,
144
+ eadk_event_paste = 70,
145
+ eadk_event_clear = 71,
146
+ eadk_event_left_bracket = 72,
147
+ eadk_event_right_bracket = 73,
148
+ eadk_event_left_brace = 74,
149
+ eadk_event_right_brace = 75,
150
+ eadk_event_underscore = 76,
151
+ eadk_event_sto = 77,
152
+ eadk_event_arcsine = 78,
153
+ eadk_event_arccosine = 79,
154
+ eadk_event_arctangent = 80,
155
+ eadk_event_equal = 81,
156
+ eadk_event_lower = 82,
157
+ eadk_event_greater = 83,
158
+ eadk_event_colon = 122,
159
+ eadk_event_semicolon = 123,
160
+ eadk_event_double_quotes = 124,
161
+ eadk_event_percent = 125,
162
+ eadk_event_lower_a = 126,
163
+ eadk_event_lower_b = 127,
164
+ eadk_event_lower_c = 128,
165
+ eadk_event_lower_d = 129,
166
+ eadk_event_lower_e = 130,
167
+ eadk_event_lower_f = 131,
168
+ eadk_event_lower_g = 132,
169
+ eadk_event_lower_h = 133,
170
+ eadk_event_lower_i = 134,
171
+ eadk_event_lower_j = 135,
172
+ eadk_event_lower_k = 136,
173
+ eadk_event_lower_l = 137,
174
+ eadk_event_lower_m = 138,
175
+ eadk_event_lower_n = 139,
176
+ eadk_event_lower_o = 140,
177
+ eadk_event_lower_p = 141,
178
+ eadk_event_lower_q = 142,
179
+ eadk_event_lower_r = 144,
180
+ eadk_event_lower_s = 145,
181
+ eadk_event_lower_t = 146,
182
+ eadk_event_lower_u = 147,
183
+ eadk_event_lower_v = 148,
184
+ eadk_event_lower_w = 150,
185
+ eadk_event_lower_x = 151,
186
+ eadk_event_lower_y = 152,
187
+ eadk_event_lower_z = 153,
188
+ eadk_event_space = 154,
189
+ eadk_event_question = 156,
190
+ eadk_event_exclamation = 157,
191
+ eadk_event_upper_a = 180,
192
+ eadk_event_upper_b = 181,
193
+ eadk_event_upper_c = 182,
194
+ eadk_event_upper_d = 183,
195
+ eadk_event_upper_e = 184,
196
+ eadk_event_upper_f = 185,
197
+ eadk_event_upper_g = 186,
198
+ eadk_event_upper_h = 187,
199
+ eadk_event_upper_i = 188,
200
+ eadk_event_upper_j = 189,
201
+ eadk_event_upper_k = 190,
202
+ eadk_event_upper_l = 191,
203
+ eadk_event_upper_m = 192,
204
+ eadk_event_upper_n = 193,
205
+ eadk_event_upper_o = 194,
206
+ eadk_event_upper_p = 195,
207
+ eadk_event_upper_q = 196,
208
+ eadk_event_upper_r = 198,
209
+ eadk_event_upper_s = 199,
210
+ eadk_event_upper_t = 200,
211
+ eadk_event_upper_u = 201,
212
+ eadk_event_upper_v = 202,
213
+ eadk_event_upper_w = 204,
214
+ eadk_event_upper_x = 205,
215
+ eadk_event_upper_y = 206,
216
+ eadk_event_upper_z = 207,
217
+ };
218
+
219
+ eadk_event_t eadk_event_get(int32_t * timeout);
220
+
84
221
  // Backlight
222
+
85
223
  void eadk_backlight_set_brightness(uint8_t brightness);
86
224
  uint8_t eadk_backlight_brightness();
87
225
 
88
226
  // Battery
227
+
89
228
  bool eadk_battery_is_charging();
90
229
  uint8_t eadk_battery_level();
91
230
  float eadk_battery_voltage();
92
231
 
93
232
  // Display
233
+
94
234
  void eadk_display_push_rect(eadk_rect_t rect, const eadk_color_t * pixels);
95
235
  void eadk_display_push_rect_uniform(eadk_rect_t rect, eadk_color_t color);
96
236
  void eadk_display_pull_rect(eadk_rect_t rect, eadk_color_t * pixels);
97
237
  bool eadk_display_wait_for_vblank();
98
238
  void eadk_display_draw_string(const char * text, eadk_point_t point, bool large_font, eadk_color_t text_color, eadk_color_t background_color);
99
239
 
100
- // Keyboard
101
- eadk_keyboard_state_t eadk_keyboard_scan();
102
-
103
240
  // Timing
241
+
104
242
  void eadk_timing_usleep(uint32_t us);
105
243
  void eadk_timing_msleep(uint32_t ms);
106
244
  uint64_t eadk_timing_millis();
107
245
 
108
- extern const unsigned char eadk_external_data[];
246
+ // External data
247
+
248
+ extern const char * eadk_external_data;
249
+ extern size_t eadk_external_data_size;
109
250
 
110
251
  // Misc
252
+
111
253
  bool eadk_usb_is_plugged();
112
254
  uint32_t eadk_random();
113
255