Small fixes to animate module (#20238)

This commit is contained in:
s-hadinger 2023-12-14 23:09:40 +01:00 committed by GitHub
parent c1f8ee5dbb
commit d6bf19190f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 83 additions and 84 deletions

View File

@ -111,8 +111,7 @@ module animate (scope: global, strings: weak) {
PALETTE_STANDARD_VAL, comptr(PALETTE_STANDARD_VAL) PALETTE_STANDARD_VAL, comptr(PALETTE_STANDARD_VAL)
PALETTE_SATURATED_TAG, comptr(PALETTE_SATURATED_TAG) PALETTE_SATURATED_TAG, comptr(PALETTE_SATURATED_TAG)
(), class(be_class_Animate_core) core, class(be_class_Animate_core)
core, class(be_class_Animate_core) // alias
animator, class(be_class_Animate_animator) animator, class(be_class_Animate_animator)
frame, class(be_class_Leds_frame) frame, class(be_class_Leds_frame)
pulse, class(be_class_Animate_pulse) pulse, class(be_class_Animate_pulse)

View File

@ -22,8 +22,8 @@ class Animate_core
static var FAST_LOOP_MIN = 20 static var FAST_LOOP_MIN = 20
var fast_loop_next # next time-stamp for fast_loop var fast_loop_next # next time-stamp for fast_loop
# cb for animation # cb for animation
var animate_object # object called at each tick var obj # object called at each tick
var animate_method # method of object called at each tick var mth # method of object called at each tick
# frame ojects # frame ojects
var frame # Leds_frame frame object var frame # Leds_frame frame object
var layer # Leds_frame for layer on top of frame var layer # Leds_frame for layer on top of frame
@ -101,8 +101,8 @@ class Animate_core
end end
def set_cb(obj, method) def set_cb(obj, method)
self.animate_object = obj self.obj = obj
self.animate_method = method self.mth = method
end end
def fast_loop() def fast_loop()
@ -136,8 +136,8 @@ class Animate_core
i += 1 i += 1
end end
# tirgger animate and display # tirgger animate and display
var obj = self.animate_object var obj = self.obj
var mth = self.animate_method var mth = self.mth
if (obj && mth) if (obj && mth)
mth(obj) mth(obj)
end end

View File

@ -164,33 +164,6 @@ be_local_closure(Animate_core_animate, /* name */
/*******************************************************************/ /*******************************************************************/
/********************************************************************
** Solidified function: get_bri
********************************************************************/
be_local_closure(Animate_core_get_bri, /* name */
be_nested_proto(
3, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(bri),
}),
be_str_weak(get_bri),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x80040400, // 0001 RET 1 R2
})
)
);
/*******************************************************************/
/******************************************************************** /********************************************************************
** Solidified function: set_bri ** Solidified function: set_bri
********************************************************************/ ********************************************************************/
@ -218,33 +191,6 @@ be_local_closure(Animate_core_set_bri, /* name */
/*******************************************************************/ /*******************************************************************/
/********************************************************************
** Solidified function: set_back_color
********************************************************************/
be_local_closure(Animate_core_set_back_color, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(back_color),
}),
be_str_weak(set_back_color),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/******************************************************************** /********************************************************************
** Solidified function: stop ** Solidified function: stop
********************************************************************/ ********************************************************************/
@ -296,6 +242,33 @@ be_local_closure(Animate_core_stop, /* name */
/*******************************************************************/ /*******************************************************************/
/********************************************************************
** Solidified function: set_back_color
********************************************************************/
be_local_closure(Animate_core_set_back_color, /* name */
be_nested_proto(
2, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(back_color),
}),
be_str_weak(set_back_color),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x90020001, // 0000 SETMBR R0 K0 R1
0x80000000, // 0001 RET 0
})
)
);
/*******************************************************************/
/******************************************************************** /********************************************************************
** Solidified function: set_cb ** Solidified function: set_cb
********************************************************************/ ********************************************************************/
@ -310,8 +283,8 @@ be_local_closure(Animate_core_set_cb, /* name */
NULL, /* no sub protos */ NULL, /* no sub protos */
1, /* has constants */ 1, /* has constants */
( &(const bvalue[ 2]) { /* constants */ ( &(const bvalue[ 2]) { /* constants */
/* K0 */ be_nested_str_weak(animate_object), /* K0 */ be_nested_str_weak(obj),
/* K1 */ be_nested_str_weak(animate_method), /* K1 */ be_nested_str_weak(mth),
}), }),
be_str_weak(set_cb), be_str_weak(set_cb),
&be_const_str_solidified, &be_const_str_solidified,
@ -450,6 +423,33 @@ be_local_closure(Animate_core_add_painter, /* name */
/*******************************************************************/ /*******************************************************************/
/********************************************************************
** Solidified function: get_bri
********************************************************************/
be_local_closure(Animate_core_get_bri, /* name */
be_nested_proto(
3, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 1]) { /* constants */
/* K0 */ be_nested_str_weak(bri),
}),
be_str_weak(get_bri),
&be_const_str_solidified,
( &(const binstruction[ 2]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x80040400, // 0001 RET 1 R2
})
)
);
/*******************************************************************/
/******************************************************************** /********************************************************************
** Solidified function: fast_loop ** Solidified function: fast_loop
********************************************************************/ ********************************************************************/
@ -484,8 +484,8 @@ be_local_closure(Animate_core_fast_loop, /* name */
/* K17 */ be_const_int(-16777216), /* K17 */ be_const_int(-16777216),
/* K18 */ be_nested_str_weak(paint), /* K18 */ be_nested_str_weak(paint),
/* K19 */ be_nested_str_weak(blend_pixels), /* K19 */ be_nested_str_weak(blend_pixels),
/* K20 */ be_nested_str_weak(animate_object), /* K20 */ be_nested_str_weak(obj),
/* K21 */ be_nested_str_weak(animate_method), /* K21 */ be_nested_str_weak(mth),
/* K22 */ be_nested_str_weak(paste_pixels), /* K22 */ be_nested_str_weak(paste_pixels),
/* K23 */ be_nested_str_weak(pixels_buffer), /* K23 */ be_nested_str_weak(pixels_buffer),
/* K24 */ be_nested_str_weak(bri), /* K24 */ be_nested_str_weak(bri),
@ -644,31 +644,31 @@ be_local_class(Animate_core,
NULL, NULL,
be_nested_map(28, be_nested_map(28,
( (struct bmapnode*) &(const bmapnode[]) { ( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(bri, 23), be_const_var(2) }, { be_const_key_weak(bri, 8), be_const_var(2) },
{ be_const_key_weak(remove, -1), be_const_closure(Animate_core_remove_closure) }, { be_const_key_weak(remove, -1), be_const_closure(Animate_core_remove_closure) },
{ be_const_key_weak(start, 21), be_const_closure(Animate_core_start_closure) }, { be_const_key_weak(start, 11), be_const_closure(Animate_core_start_closure) },
{ be_const_key_weak(fast_loop, -1), be_const_closure(Animate_core_fast_loop_closure) }, { be_const_key_weak(fast_loop, -1), be_const_closure(Animate_core_fast_loop_closure) },
{ be_const_key_weak(add_animator, -1), be_const_closure(Animate_core_add_animator_closure) }, { be_const_key_weak(add_animator, -1), be_const_closure(Animate_core_add_animator_closure) },
{ be_const_key_weak(FAST_LOOP_MIN, 8), be_const_int(20) }, { be_const_key_weak(FAST_LOOP_MIN, 9), be_const_int(20) },
{ be_const_key_weak(animate, -1), be_const_closure(Animate_core_animate_closure) }, { be_const_key_weak(obj, -1), be_const_var(8) },
{ be_const_key_weak(pixel_count, -1), be_const_var(1) }, { be_const_key_weak(pixel_count, -1), be_const_var(1) },
{ be_const_key_weak(animate, -1), be_const_closure(Animate_core_animate_closure) },
{ be_const_key_weak(animators, -1), be_const_var(4) }, { be_const_key_weak(animators, -1), be_const_var(4) },
{ be_const_key_weak(back_color, 11), be_const_var(12) }, { be_const_key_weak(fast_loop_cb, -1), be_const_var(6) },
{ be_const_key_weak(fast_loop_cb, 12), be_const_var(6) }, { be_const_key_weak(get_bri, 24), be_const_closure(Animate_core_get_bri_closure) },
{ be_const_key_weak(back_color, 13), be_const_var(12) },
{ be_const_key_weak(frame, -1), be_const_var(10) }, { be_const_key_weak(frame, -1), be_const_var(10) },
{ be_const_key_weak(animate_object, -1), be_const_var(8) }, { be_const_key_weak(set_cb, 23), be_const_closure(Animate_core_set_cb_closure) },
{ be_const_key_weak(stop, -1), be_const_closure(Animate_core_stop_closure) },
{ be_const_key_weak(init, -1), be_const_closure(Animate_core_init_closure) }, { be_const_key_weak(init, -1), be_const_closure(Animate_core_init_closure) },
{ be_const_key_weak(set_cb, 13), be_const_closure(Animate_core_set_cb_closure) }, { be_const_key_weak(running, 21), be_const_var(3) },
{ be_const_key_weak(running, -1), be_const_var(3) }, { be_const_key_weak(strip, 14), be_const_var(0) },
{ be_const_key_weak(strip, 15), be_const_var(0) },
{ be_const_key_weak(fast_loop_next, -1), be_const_var(7) }, { be_const_key_weak(fast_loop_next, -1), be_const_var(7) },
{ be_const_key_weak(set_back_color, 14), be_const_closure(Animate_core_set_back_color_closure) }, { be_const_key_weak(set_back_color, 15), be_const_closure(Animate_core_set_back_color_closure) },
{ be_const_key_weak(add_painter, -1), be_const_closure(Animate_core_add_painter_closure) }, { be_const_key_weak(add_painter, -1), be_const_closure(Animate_core_add_painter_closure) },
{ be_const_key_weak(set_bri, 24), be_const_closure(Animate_core_set_bri_closure) }, { be_const_key_weak(mth, -1), be_const_var(9) },
{ be_const_key_weak(layer, 9), be_const_var(11) }, { be_const_key_weak(layer, 12), be_const_var(11) },
{ be_const_key_weak(animate_method, 6), be_const_var(9) }, { be_const_key_weak(stop, -1), be_const_closure(Animate_core_stop_closure) },
{ be_const_key_weak(get_bri, -1), be_const_closure(Animate_core_get_bri_closure) }, { be_const_key_weak(set_bri, -1), be_const_closure(Animate_core_set_bri_closure) },
{ be_const_key_weak(painters, -1), be_const_var(5) }, { be_const_key_weak(painters, -1), be_const_var(5) },
{ be_const_key_weak(clear, 3), be_const_closure(Animate_core_clear_closure) }, { be_const_key_weak(clear, 3), be_const_closure(Animate_core_clear_closure) },
{ be_const_key_weak(add_background_animator, 2), be_const_closure(Animate_core_add_background_animator_closure) }, { be_const_key_weak(add_background_animator, 2), be_const_closure(Animate_core_add_background_animator_closure) },

View File

@ -6,6 +6,6 @@ import animate
var duration = 10000 var duration = 10000
var strip = Leds(5 * 5, gpio.pin(gpio.WS2812, 0)) var strip = Leds(5 * 5, gpio.pin(gpio.WS2812, 0))
var anim = animate(strip) var anim = animate.core(strip)
anim.add_background_animator(animate.palette(animate.PALETTE_RAINBOW_WHITE, duration)) anim.add_background_animator(animate.palette(animate.PALETTE_RAINBOW_WHITE, duration))
anim.start() anim.start()

View File

@ -6,7 +6,7 @@ import animate
var duration = 10000 var duration = 10000
var strip = Leds(5 * 5, gpio.pin(gpio.WS2812, 0)) var strip = Leds(5 * 5, gpio.pin(gpio.WS2812, 0))
var anim = animate(strip) var anim = animate.core(strip)
anim.set_back_color(0x2222AA) anim.set_back_color(0x2222AA)
var pulse = animate.pulse(0xFF4444, 2, 1) var pulse = animate.pulse(0xFF4444, 2, 1)
var osc1 = animate.oscillator(-3, 26, 5000, animate.COSINE) var osc1 = animate.oscillator(-3, 26, 5000, animate.COSINE)