mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 06:05:58 -06:00
181 lines
3.5 KiB
C++
181 lines
3.5 KiB
C++
#include "e011.h"
|
|
|
|
unsigned int SEP1_ReadVar(unsigned int n) {
|
|
char buff[2], buff1[16];
|
|
unsigned int i, j;
|
|
|
|
for(j=0; j<3; j++) {
|
|
port.ClearReadBuffer();
|
|
port.write( STX );
|
|
port.write( 3 );
|
|
port.write( 'R' );
|
|
port.write( 'r' );
|
|
port.write( (char)n );
|
|
|
|
i = port.readString(buff, 2);
|
|
if(i == 2) {
|
|
if(buff[0] == STX) {
|
|
i = port.readString(buff1, buff[1]);
|
|
if(i == buff[1]) {
|
|
i = (unsigned char)buff1[0] * 256;
|
|
i += (unsigned char)buff1[1];
|
|
return i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
unsigned int SEP1_ReadFlash(unsigned int n) {
|
|
char buff[2], buff1[16];
|
|
unsigned int i, j;
|
|
|
|
for(j=0; j<3; j++) {
|
|
port.ClearReadBuffer();
|
|
port.write( STX );
|
|
port.write( 3 );
|
|
port.write( 'R' );
|
|
port.write( 'e' );
|
|
port.write( (char)n );
|
|
|
|
i = port.readString(buff, 2);
|
|
if(i == 2) {
|
|
if(buff[0] == STX) {
|
|
i = port.readString(buff1, buff[1]);
|
|
if(i == buff[1]) {
|
|
i = (unsigned char)buff1[0] * 256;
|
|
i += (unsigned char)buff1[1];
|
|
return i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
unsigned int SEP1_ReadFile(unsigned int n) {
|
|
char buff[2], buff1[16];
|
|
unsigned int i, j;
|
|
|
|
for(j=0; j<3; j++) {
|
|
port.ClearReadBuffer();
|
|
port.write( STX );
|
|
port.write( 3 );
|
|
port.write( 'R' );
|
|
port.write( '*' );
|
|
port.write( (char)n );
|
|
|
|
i = port.readString(buff, 2);
|
|
if(i == 2) {
|
|
if(buff[0] == STX) {
|
|
i = port.readString(buff1, buff[1]);
|
|
if(i == buff[1]) {
|
|
i = (unsigned char)buff1[0] * 256;
|
|
i += (unsigned char)buff1[1];
|
|
return i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void SEP1_WriteVar(unsigned int f, unsigned int v) {
|
|
|
|
if(port.IsOpen()) {
|
|
port.ClearWriteBuffer();
|
|
port.write( STX );
|
|
port.write( 5 );
|
|
port.write( 'W' );
|
|
port.write( 'r' );
|
|
port.write( (char)f );
|
|
port.write( (char)(v >> 8) );
|
|
port.write( (char)v );
|
|
}
|
|
return;
|
|
}
|
|
|
|
void SEP1_WriteFlash(unsigned int f, unsigned int v) {
|
|
|
|
if(port.IsOpen()) {
|
|
port.ClearWriteBuffer();
|
|
port.write( STX );
|
|
port.write( 5 );
|
|
port.write( 'W' );
|
|
port.write( 'e' );
|
|
port.write( (char)f );
|
|
port.write( (char)(v >> 8) );
|
|
port.write( (char)v );
|
|
}
|
|
return;
|
|
}
|
|
|
|
void SEP1_WriteFile(unsigned int f, unsigned int v) {
|
|
|
|
if(port.IsOpen()) {
|
|
port.ClearWriteBuffer();
|
|
port.write( STX );
|
|
port.write( 5 );
|
|
port.write( 'W' );
|
|
port.write( '*' );
|
|
port.write( (char)f );
|
|
port.write( (char)(v >> 8) );
|
|
port.write( (char)v );
|
|
}
|
|
return;
|
|
}
|
|
|
|
int SEP1_GetMode(void) {
|
|
int j;
|
|
|
|
for(j=0; j<3; j++) {
|
|
port.ClearReadBuffer();
|
|
port.write( STX );
|
|
port.write( 3 );
|
|
port.write( 'R' );
|
|
port.write( 'm' );
|
|
port.write( 0xff );
|
|
|
|
char buff[8], buff1[8];
|
|
int i;
|
|
i = port.readString(buff, 2);
|
|
if(i == 2) {
|
|
if(buff[0] == STX) {
|
|
i = port.readString(buff1, buff[1]);
|
|
if(i == buff[1]) {
|
|
i = (unsigned char)buff1[0] * 256;
|
|
i += (unsigned char)buff1[1];
|
|
return i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
void SEP1_PutMode(int m) {
|
|
|
|
if(port.IsOpen()) {
|
|
port.ClearWriteBuffer();
|
|
port.write( STX );
|
|
port.write( 5 );
|
|
port.write( 'W' );
|
|
port.write( 'm' );
|
|
port.write( 0xff );
|
|
port.write( (char)(m >> 8) );
|
|
port.write( (char)m );
|
|
}
|
|
return;
|
|
}
|
|
|
|
void SEP1_EscCmd(const String& s) {
|
|
|
|
port.ClearWriteBuffer();
|
|
port.write( STX );
|
|
port.write( s.GetLength()+1 );
|
|
port.write( ESC );
|
|
port.writeString( ~s, s.GetLength() );
|
|
|
|
return;
|
|
}
|