MCPcopy Create free account
hub / github.com/SmingHub/Sming / testPgm

Function testPgm

samples/Basic_ProgMem/app/application.cpp:61–109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59}
60
61void testPgm()
62{
63 Serial.println("> Read bytes from PROGMEM:");
64 for(uint8_t i = 0, b = 1; i < 8; i++, b++) {
65 uint8_t d = pgm_read_byte(bytes + i);
66 assertEquals8(b, d);
67 Serial << d << ' ';
68 }
69 Serial.println();
70
71 for(uint16_t i = 0, w = 11; i < 8; i++, w += 10) {
72 assertEquals16(w, pgm_read_word(words + i));
73 }
74
75 for(uint32_t i = 0, dw = 12; i < 8; i++, dw *= 10) {
76 assertEquals32(dw, pgm_read_dword(dwords + i));
77 }
78
79 for(uint32_t i = 0, f = 13; i < 8; i++, f *= 10) {
80 assertEqualsFloat((float)f, pgm_read_float(floats + i));
81 }
82
83 Serial.println("> Copy a string from PROGMEM:");
84 char buf[100];
85 strcpy_P(buf, demoString);
86 assertEqualsString("Demo", buf);
87 assertEquals8(4, strlen_P(demoString));
88 Serial.println(buf);
89
90 strcat_P(buf, demoString);
91 assertEqualsString("DemoDemo", buf);
92
93 assertEquals8(1, strcmp_P(buf, demoString));
94 assertEquals8(0, strcmp_P("Demo", demoString));
95
96 sprintf(buf, "SuperDemo");
97 assertEqualsString("Demo", strstr_P(buf, demoString));
98
99 sprintf_P(buf, demoFormat, 1);
100 assertEqualsString("Demo 1", buf);
101
102 Serial.println("> Copy bytes from PROGMEM:");
103 memcpy_P(buf, demoPgm, sizeof(demoPgm));
104 for(uint8_t i = 0; i < sizeof(demoPgm); i++) {
105 assertEquals8(demoRam[i], buf[i]);
106 Serial << (unsigned char)buf[i] << ' ';
107 }
108 Serial.println();
109}
110
111void init()
112{

Callers 1

initFunction · 0.85

Calls 6

assertEquals8Function · 0.85
assertEquals16Function · 0.85
assertEquals32Function · 0.85
assertEqualsFloatFunction · 0.85
assertEqualsStringFunction · 0.85
printlnMethod · 0.80

Tested by

no test coverage detected