touch buttons set LED programs, added another ribbon LED program

also added PRNG
This commit is contained in:
true
2026-05-09 08:42:57 -07:00
parent b2de3abe08
commit 2c151b1bf4
7 changed files with 343 additions and 6 deletions

View File

@@ -0,0 +1,39 @@
/**
* Tiny Mersenne Twister
*/
#ifndef TINYMT_RAND_H_
#define TINYMT_RAND_H_
/**
* tinymt32 internal state vector and parameters
*/
typedef struct {
uint32_t status[4];
uint32_t mat1;
uint32_t mat2;
uint32_t tmat;
} tinymt32_t;
extern tinymt32_t tinymt32_s;
void tinymt32_init(tinymt32_t *s, uint32_t seed);
uint32_t tinymt32_get_uint32(tinymt32_t* s);
#define prng_get8() (tinymt32_get_uint32(&tinymt32_s) & 0xff)
#define prng_get16() (tinymt32_get_uint32(&tinymt32_s) & 0xffff)
#define prng_get32() tinymt32_get_uint32(&tinymt32_s)
uint16_t prng_scale16(uint16_t min, uint16_t max);
#endif /* TINYMT_RAND_H */