Eliminate serial_writechar_P(). serial_writechar() perfoms better and
uses less memory. Also, reviewed all code for usage of single-character strings.
This commit is contained in:
parent
e79c7c4759
commit
8468f22e58
|
|
@ -332,14 +332,14 @@ void scan_char(uint8_t c) {
|
||||||
else {
|
else {
|
||||||
serial_writestr_P(PSTR("Expected checksum "));
|
serial_writestr_P(PSTR("Expected checksum "));
|
||||||
serwrite_uint8(next_target.checksum_calculated);
|
serwrite_uint8(next_target.checksum_calculated);
|
||||||
serial_writestr_P(PSTR("\n"));
|
serial_writechar('\n');
|
||||||
request_resend();
|
request_resend();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
serial_writestr_P(PSTR("Expected line number "));
|
serial_writestr_P(PSTR("Expected line number "));
|
||||||
serwrite_uint32(next_target.N_expected);
|
serwrite_uint32(next_target.N_expected);
|
||||||
serial_writestr_P(PSTR("\n"));
|
serial_writechar('\n');
|
||||||
request_resend();
|
request_resend();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -735,6 +735,6 @@ void process_gcode_command(GCODE_COMMAND *gcmd) {
|
||||||
void request_resend() {
|
void request_resend() {
|
||||||
serial_writestr_P(PSTR("Resend:"));
|
serial_writestr_P(PSTR("Resend:"));
|
||||||
serwrite_uint8(next_target.N);
|
serwrite_uint8(next_target.N);
|
||||||
serial_writestr_P(PSTR("\n"));
|
serial_writechar('\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -163,19 +163,21 @@ void serial_writestr(uint8_t *data)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Write from FLASH
|
Write from FLASH
|
||||||
*/
|
|
||||||
|
|
||||||
void serial_writechar_P(PGM_P data)
|
Extensions to output flash memory pointers. This prevents the data to
|
||||||
{
|
become part of the .data segment instead of the .code segment. That means
|
||||||
serial_writechar(pgm_read_byte(data));
|
less memory is consumed for multi-character writes.
|
||||||
}
|
|
||||||
|
For single character writes (i.e. '\n' instead of "\n"), using
|
||||||
|
serial_writechar() directly is the better choice.
|
||||||
|
*/
|
||||||
|
|
||||||
void serial_writeblock_P(PGM_P data, int datalen)
|
void serial_writeblock_P(PGM_P data, int datalen)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < datalen; i++)
|
for (i = 0; i < datalen; i++)
|
||||||
serial_writechar_P(&data[i]);
|
serial_writechar(pgm_read_byte(&data[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
void serial_writestr_P(PGM_P data)
|
void serial_writestr_P(PGM_P data)
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@ void serial_writeblock(void *data, int datalen);
|
||||||
void serial_writestr(uint8_t *data);
|
void serial_writestr(uint8_t *data);
|
||||||
|
|
||||||
// write from flash
|
// write from flash
|
||||||
void serial_writechar_P(PGM_P data);
|
|
||||||
void serial_writeblock_P(PGM_P data, int datalen);
|
void serial_writeblock_P(PGM_P data, int datalen);
|
||||||
void serial_writestr_P(PGM_P data);
|
void serial_writestr_P(PGM_P data);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue