Skip to content

Commit c79a3f6

Browse files
committed
Cleanup
1 parent c5659f1 commit c79a3f6

File tree

2 files changed

+30
-12
lines changed

2 files changed

+30
-12
lines changed

examples/Stream/Stream.ino

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,18 @@ SRAM<BOARD::D10> sram(spi);
2121
SRAM<BOARD::D10>::Stream<10000> ios(sram);
2222
SRAM<BOARD::D10>::Stream<10000> temps(sram, 10000);
2323

24-
const int N = 100;
25-
uint32_t n, s0, m0, m1, m2, m3;
24+
const int N = 1000;
25+
int count = 0;
26+
uint32_t s0, m0, m1, m2, m3, m4, m5;
2627

2728
void setup()
2829
{
2930
Serial.begin(57600);
3031
while (!Serial);
32+
}
3133

34+
void loop()
35+
{
3236
// Print N analog samples to serial stream
3337
s0 = micros();
3438
for (int i = 0; i < N; i++) {
@@ -47,7 +51,7 @@ void setup()
4751
m1 = micros() - s0;
4852

4953
// Transfer data between two sram streams
50-
n = ios.available();
54+
count = ios.available();
5155
s0 = micros();
5256
while (ios.available())
5357
temps.write(ios.read());
@@ -59,20 +63,33 @@ void setup()
5963
Serial.write(temps.read());
6064
m3 = micros() - s0;
6165

66+
// Write to sram stream
67+
s0 = micros();
68+
for (int i = 0; i < count; i++) ios.write(i);
69+
m4 = micros() - s0;
70+
71+
// Read from sram stream
72+
s0 = micros();
73+
uint16_t sum = 0;
74+
for (int i = 0; i < count; i++) sum += ios.read();
75+
m5 = micros() - s0;
76+
6277
Serial.print(F("Samples, N = "));
6378
Serial.println(N);
6479
Serial.print(F("Serial.print, m0 = "));
6580
Serial.println(m0 / N);
6681
Serial.print(F("SRAM::Stream.print, m1 = "));
6782
Serial.println(m1 / N);
68-
Serial.print(F("SRAM::Stream.available, n = "));
69-
Serial.println(n);
83+
Serial.print(F("SRAM::Stream.available, count = "));
84+
Serial.println(count);
7085
Serial.print(F("SRAM::Stream.write/read, m2 = "));
71-
Serial.println(m2 / n);
86+
Serial.println(m2 / count);
7287
Serial.print(F("SRAM::Stream.read/Serial.write, m3 = "));
73-
Serial.println(m3 / N);
74-
}
88+
Serial.println(m3 / count);
89+
Serial.print(F("SRAM::Stream.write, m4 = "));
90+
Serial.println(m4 / count);
91+
Serial.print(F("SRAM::Stream.read, m5 = "));
92+
Serial.println(m5 / count);
7593

76-
void loop()
77-
{
94+
delay(1000);
7895
}

src/Driver/SRAM.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,9 @@ class SRAM : protected SPI::Device<0, MSBFIRST, FREQ, SS_PIN> {
157157
*/
158158
virtual int read()
159159
{
160-
int res = peek();
161-
if (res < 0) return (res);
160+
if (m_count == 0) return (-1);
161+
uint8_t res = 0;
162+
m_sram.read(&res, m_addr + m_get, sizeof(res));
162163
m_count -= 1;
163164
m_get += 1;
164165
if (m_get == SIZE) m_get = 0;

0 commit comments

Comments
 (0)