<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/drivers/ao_trng_send.c, branch fake-flight</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=fake-flight</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=fake-flight'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2017-09-12T20:40:06+00:00</updated>
<entry>
<title>chaoskey: Wait for input data to stabilize before using it</title>
<updated>2017-09-12T20:40:06+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-09-12T20:40:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=10d14146ef84fbe4670454bc0996854a4066cfea'/>
<id>urn:sha1:10d14146ef84fbe4670454bc0996854a4066cfea</id>
<content type='text'>
The ADC data takes a while to start working after power on; wait for
the range of input values to look reasonable before using the data.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/arm: Align data so that gcc 5.4 doesn't do byte-accesses. Add -Wcast-align</title>
<updated>2016-12-18T05:04:33+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-12-18T04:58:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=89ecc32b90565ace078c4a84d4406a4d1f86821a'/>
<id>urn:sha1:89ecc32b90565ace078c4a84d4406a4d1f86821a</id>
<content type='text'>
Gcc 5.4.1 tracks alignment of data through assignments, so that a
uint32_t pointer which comes from byte-aligned uint8_t data:

extern uint8_t foo[];

	uint32_t	*q = (void *) foo;

Fetches and stores through this pointer are done bytewise. This is
slow (meh), but if q references a device register, things to bad very
quickly.

This patch works around this bug in the compiler by adding
__attribute__((aligned(4))) tags to some variables, or changing them
from uint8_t to uint32_t. Places doing this will now be caught as I've
added -Wcast-align to the compiler flags. That required adding (void
*) casts, after the relevant code was checked to make sure the
compiler could tell that the addresses were aligned.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Use standard FIPS testing for chaoskey</title>
<updated>2016-08-02T23:55:11+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-08-02T23:26:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=826ad792389150ea8d80e341cb8ea023db83c9a2'/>
<id>urn:sha1:826ad792389150ea8d80e341cb8ea023db83c9a2</id>
<content type='text'>
Check to make sure we aren't repeating a block coming from the
unwhitened source, which is the standard online FIPS test for RNGs.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>Switch from GPLv2 to GPLv2+</title>
<updated>2016-07-12T22:41:41+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-07-05T16:03:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=1085ec5d57e0ed5d132f2bbdac1a0b6a32c0ab4a'/>
<id>urn:sha1:1085ec5d57e0ed5d132f2bbdac1a0b6a32c0ab4a</id>
<content type='text'>
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altosuilib: Fill preload map on site or lat/lon change</title>
<updated>2016-05-28T03:30:18+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-05-28T03:30:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=f982248573c1b646ac53fde980a60ada5404f6aa'/>
<id>urn:sha1:f982248573c1b646ac53fde980a60ada5404f6aa</id>
<content type='text'>
This loads the map view with the selected area when the site entry is
changed or the user hits return in the lat/lon fields. This lets you
see the target launch site without having to load the whole preload set.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/chaoskey: Add another USB endpoint to read raw data</title>
<updated>2016-03-02T21:59:21+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-03-02T21:54:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=05fcb717bfc44aba3c1cfd43281e323505a46402'/>
<id>urn:sha1:05fcb717bfc44aba3c1cfd43281e323505a46402</id>
<content type='text'>
This replaces having the single output switch based on a pin value and
allows us to box the device and still fetch raw data.

For now, this will use a special libusb2 program, ao-chaosread, to
pull bits as I haven't figure out how to make linux provide two
/dev entries for one USB device.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add simple stats test to TRNG code</title>
<updated>2016-02-08T06:28:34+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-02-08T06:28:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=bab082605e3fca6b6d11447c45cd948ddfe74bb9'/>
<id>urn:sha1:bab082605e3fca6b6d11447c45cd948ddfe74bb9</id>
<content type='text'>
This detects broken hardware by making sure the standard deviation in
the raw values used to compute each buffer is at least 128.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Delay TRNG ADC long enough for HV supply to stabilize</title>
<updated>2016-02-07T23:42:28+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-02-07T23:33:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=147f0df6a29b37fbfb0824ecd276482f0eecb397'/>
<id>urn:sha1:147f0df6a29b37fbfb0824ecd276482f0eecb397</id>
<content type='text'>
Looks like it takes about 70ms for the supply to start running right,
so delay after powering it up for that long.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add power management to TRNG driver</title>
<updated>2016-02-07T23:42:28+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-02-06T13:14:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=235198b85f1583d2792c7028decace61d1b4229e'/>
<id>urn:sha1:235198b85f1583d2792c7028decace61d1b4229e</id>
<content type='text'>
Support suspend/resume of the TRNG power supply, delaying after resume
to wait for it to stabilize.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/chaoskey: Delay ADC reading for 250ms at startup</title>
<updated>2016-01-28T21:58:43+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-01-28T21:58:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=35407e664886bed21dcef7764843aac03be8490c'/>
<id>urn:sha1:35407e664886bed21dcef7764843aac03be8490c</id>
<content type='text'>
This lets the HV supply stabilize before we start sampling values.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
</feed>
