From e2f73d62df6e7b79483b571cd744701e233cf94a Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Sat, 23 Jun 2018 02:10:12 -0600 Subject: Moved pseudo_rand() into its own header, and made it gather entropy from ADC readings to improve randomness. Adjusted candle mode to use lower bits instead of upper bits, because the lower bits are more random. (also, the lower-bit method is slightly smaller in ROM) --- spaghetti-monster/fsm-random.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 spaghetti-monster/fsm-random.h (limited to 'spaghetti-monster/fsm-random.h') diff --git a/spaghetti-monster/fsm-random.h b/spaghetti-monster/fsm-random.h new file mode 100644 index 0000000..720f6f2 --- /dev/null +++ b/spaghetti-monster/fsm-random.h @@ -0,0 +1,29 @@ +/* + * fsm-random.h: Random number generator for SpaghettiMonster. + * + * Copyright (C) 2017 Selene ToyKeeper + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef FSM_RANDOM_H +#define FSM_RANDOM_H + +#ifdef USE_PSEUDO_RAND +uint8_t pseudo_rand(); +// TODO: test without "volatile", in case it's not needed +volatile uint8_t pseudo_rand_seed = 0; +#endif + +#endif -- cgit v1.2.3