From 2e98cc7eed993f6d65ca5d57f358ffc8cb86c21c Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Mon, 12 Oct 2015 22:22:28 -0600 Subject: Oops, forgot to add tk-random header. --- tk-random.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tk-random.h (limited to 'tk-random.h') diff --git a/tk-random.h b/tk-random.h new file mode 100644 index 0000000..db6c939 --- /dev/null +++ b/tk-random.h @@ -0,0 +1,28 @@ +#ifndef TK_RANDOM_H +#define TK_RANDOM_H +/* + * Smaller, pseudo-random function(s). + * + * Copyright (C) 2015 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 . + * + */ + +uint8_t pgm_rand() { + static uint8_t *offset = 0; + return pgm_read_byte(offset++); +} + +#endif // TK_RANDOM_H -- cgit v1.2.3 From e9bfbbbe4d4853d127019260fafc2620b13f3a1f Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Mon, 12 Oct 2015 22:45:04 -0600 Subject: Made pgm_rand() more erratic (beginning of PROGMEM is boring for this purpose), made random strobe smaller and better-looking. --- tk-random.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'tk-random.h') diff --git a/tk-random.h b/tk-random.h index db6c939..d559659 100644 --- a/tk-random.h +++ b/tk-random.h @@ -21,8 +21,9 @@ */ uint8_t pgm_rand() { - static uint8_t *offset = 0; - return pgm_read_byte(offset++); + static uint16_t offset = 255; + offset = (offset + 1) & 0x3ff | 0x0100; + return pgm_read_byte(offset); } #endif // TK_RANDOM_H -- cgit v1.2.3