Norimasa Okamoto / Mbed 2 deprecated emuISP

Dependencies:   mbed

Committer:
va009039
Date:
Tue Mar 08 12:03:48 2016 +0900
Revision:
1:4ff199bddbc1
Child:
2:e3c085ac77f1
first commit.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
va009039 1:4ff199bddbc1 1 // BaseEmuISP.h 2016/3/8
va009039 1:4ff199bddbc1 2 #pragma once
va009039 1:4ff199bddbc1 3 #include <string>
va009039 1:4ff199bddbc1 4 #include <vector>
va009039 1:4ff199bddbc1 5
va009039 1:4ff199bddbc1 6 #define M_RESET 0
va009039 1:4ff199bddbc1 7 #define M_SYNC 1
va009039 1:4ff199bddbc1 8 #define M_CMD 2
va009039 1:4ff199bddbc1 9 #define M_CMD_W_DATA 3
va009039 1:4ff199bddbc1 10 #define M_CMD_R_DATA 4
va009039 1:4ff199bddbc1 11 #define M_CMD_J 5
va009039 1:4ff199bddbc1 12 #define M_CMD_K 6
va009039 1:4ff199bddbc1 13 #define M_CMD_N 7
va009039 1:4ff199bddbc1 14
va009039 1:4ff199bddbc1 15 // Return Code
va009039 1:4ff199bddbc1 16 #define CMD_SUCCESS 0
va009039 1:4ff199bddbc1 17 #define INVALID_COMMAND 1
va009039 1:4ff199bddbc1 18 #define SRC_ADDR_ERROR 2
va009039 1:4ff199bddbc1 19 #define DST_ADDR_ERROR 3
va009039 1:4ff199bddbc1 20 #define SRC_ADDR_NOT_MAPPED 4
va009039 1:4ff199bddbc1 21 #define DST_ADDR_NOT_MAPPED 5
va009039 1:4ff199bddbc1 22 #define COUNT_ERROR 6
va009039 1:4ff199bddbc1 23 #define INVALID_SECTOR 7
va009039 1:4ff199bddbc1 24 #define SECTOR_NOT_BLANK 8
va009039 1:4ff199bddbc1 25 #define SECTOR_NOT_PREPARED_FOR_WRITE_OPERATION 9
va009039 1:4ff199bddbc1 26 #define COMPARE_ERROR 10
va009039 1:4ff199bddbc1 27 #define BUSY 11
va009039 1:4ff199bddbc1 28 #define PARAM_ERROR 12
va009039 1:4ff199bddbc1 29 #define ADDR_ERROR 13
va009039 1:4ff199bddbc1 30 #define ADDR_NOT_MAPPED 14
va009039 1:4ff199bddbc1 31 #define CMD_LOCKED 15
va009039 1:4ff199bddbc1 32 #define INVALID_CODE 16
va009039 1:4ff199bddbc1 33 #define INVALID_BAUD_RATE 17
va009039 1:4ff199bddbc1 34 #define INVALID_STOP_BIT 18
va009039 1:4ff199bddbc1 35 #define CODE_READ_PROTECTIN_ENABLED 19
va009039 1:4ff199bddbc1 36
va009039 1:4ff199bddbc1 37 class BaseEmuISP {
va009039 1:4ff199bddbc1 38 public:
va009039 1:4ff199bddbc1 39 void Reset();
va009039 1:4ff199bddbc1 40 void Poll();
va009039 1:4ff199bddbc1 41
va009039 1:4ff199bddbc1 42 protected:
va009039 1:4ff199bddbc1 43 virtual int Part() { return 0; }
va009039 1:4ff199bddbc1 44 virtual void WriteData(int addr, int c) {}
va009039 1:4ff199bddbc1 45 virtual int ReadData(int addr) { return 0; }
va009039 1:4ff199bddbc1 46 virtual void CopyData(int dst, int src, int count) {}
va009039 1:4ff199bddbc1 47 virtual bool SectorExist(int sector) { return true; }
va009039 1:4ff199bddbc1 48 virtual int Getch() = 0;
va009039 1:4ff199bddbc1 49 virtual void Putch(int c) = 0;
va009039 1:4ff199bddbc1 50 virtual void DebugPutch(int c) { return; }
va009039 1:4ff199bddbc1 51
va009039 1:4ff199bddbc1 52 private:
va009039 1:4ff199bddbc1 53 bool sync();
va009039 1:4ff199bddbc1 54 int cmd(const char* s);
va009039 1:4ff199bddbc1 55 int cmd_u(int arg, int p1);
va009039 1:4ff199bddbc1 56 int cmd_b(int arg, int p1, int p2);
va009039 1:4ff199bddbc1 57 int cmd_a(int arg, int p1);
va009039 1:4ff199bddbc1 58 int cmd_w(int arg, int p1, int p2);
va009039 1:4ff199bddbc1 59 int cmd_r(int arg, int p1, int p2);
va009039 1:4ff199bddbc1 60 int cmd_p(int arg, int p1, int p2);
va009039 1:4ff199bddbc1 61 int cmd_c(int arg, int p1, int p2, int p3);
va009039 1:4ff199bddbc1 62 int cmd_g(int arg, int p1, int p2);
va009039 1:4ff199bddbc1 63 int cmd_e(int arg, int p1, int p2);
va009039 1:4ff199bddbc1 64 int cmd_i(int arg, int p1, int p2);
va009039 1:4ff199bddbc1 65 int cmd_j(int arg);
va009039 1:4ff199bddbc1 66 int cmd_k(int arg);
va009039 1:4ff199bddbc1 67 int cmd_m(int arg, int p1, int p2, int p3);
va009039 1:4ff199bddbc1 68 int cmd_n(int arg);
va009039 1:4ff199bddbc1 69 int cmd_s(int arg, int p1, int p2);
va009039 1:4ff199bddbc1 70 void putln(const char *s);
va009039 1:4ff199bddbc1 71 bool line_proc();
va009039 1:4ff199bddbc1 72 void debugPrintf(const char *format, ...);
va009039 1:4ff199bddbc1 73 int mode;
va009039 1:4ff199bddbc1 74 int seq;
va009039 1:4ff199bddbc1 75 bool echoFlag;
va009039 1:4ff199bddbc1 76 bool lockFlag;
va009039 1:4ff199bddbc1 77 std::string line;
va009039 1:4ff199bddbc1 78 int freq;
va009039 1:4ff199bddbc1 79 int addr;
va009039 1:4ff199bddbc1 80 int count;
va009039 1:4ff199bddbc1 81 };
va009039 1:4ff199bddbc1 82