diff options
| author | Selene ToyKeeper | 2023-11-03 11:05:59 -0600 |
|---|---|---|
| committer | Selene ToyKeeper | 2023-11-03 11:05:59 -0600 |
| commit | 3489015ff245861355f73674f79801279d95ea39 (patch) | |
| tree | 87f188f4f407ae83fd98ff3e4ed0bcf81b4ae9d5 /arch/random.h | |
| parent | moved ATTINY and MODEL_NUMBER into $target/arch and $target/model, (diff) | |
| download | anduril-3489015ff245861355f73674f79801279d95ea39.tar.gz anduril-3489015ff245861355f73674f79801279d95ea39.tar.bz2 anduril-3489015ff245861355f73674f79801279d95ea39.zip | |
renamed tk*.h to arch/*.h or fsm/*.h (part 1)
to get them out of the root dir, and to start cleaning up mcu/arch code
Diffstat (limited to 'arch/random.h')
| -rw-r--r-- | arch/random.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/random.h b/arch/random.h new file mode 100644 index 0000000..ad65660 --- /dev/null +++ b/arch/random.h @@ -0,0 +1,14 @@ +// tk-random.h: Smaller pseudo-random function(s). +// Copyright (C) 2015-2023 Selene ToyKeeper +// SPDX-License-Identifier: GPL-3.0-or-later +#pragma once + +uint8_t pgm_rand() { + static uint16_t offset = 255; + // loop through ROM space, but avoid the first 256 bytes + // because the beginning tends to have a big ramp which + // doesn't look very random at all + offset = ((offset + 1) & 0x3ff) | 0x0100; + return pgm_read_byte(offset); +} + |
