Baseline for testing

Committer:
foxbrianr
Date:
Tue Sep 17 13:48:33 2019 +0000
Revision:
2:180c90fb759c
Parent:
1:a2073f60d3a6
Beta 2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
foxbrianr 2:180c90fb759c 1 /**************************************************************************//**
foxbrianr 2:180c90fb759c 2 * @file AddressMap.h
foxbrianr 2:180c90fb759c 3 * @brief Base class for storage of Address Mapping data.
foxbrianr 2:180c90fb759c 4 * @version: V1.0
foxbrianr 2:180c90fb759c 5 * @date: 9/17/2019
foxbrianr 2:180c90fb759c 6
foxbrianr 2:180c90fb759c 7 *
foxbrianr 2:180c90fb759c 8 * @note
foxbrianr 2:180c90fb759c 9 * Copyright (C) 2019 E3 Design. All rights reserved.
foxbrianr 2:180c90fb759c 10 *
foxbrianr 2:180c90fb759c 11 * @par
foxbrianr 2:180c90fb759c 12 * E3 Designers LLC is supplying this software for use with Cortex-M3 LPC1768
foxbrianr 2:180c90fb759c 13 * processor based microcontroller for the ESCM 2000 Monitor and Display.
foxbrianr 2:180c90fb759c 14 * *
foxbrianr 2:180c90fb759c 15 * @par
foxbrianr 2:180c90fb759c 16 * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
foxbrianr 2:180c90fb759c 17 * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
foxbrianr 2:180c90fb759c 18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
foxbrianr 2:180c90fb759c 19 * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
foxbrianr 2:180c90fb759c 20 * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
foxbrianr 2:180c90fb759c 21 *
foxbrianr 2:180c90fb759c 22 ******************************************************************************/
foxbrianr 1:a2073f60d3a6 23 #ifndef _ADDRESS_MAP_
foxbrianr 1:a2073f60d3a6 24 #define _ADDRESS_MAP_
foxbrianr 0:e24f6400a8c8 25
foxbrianr 0:e24f6400a8c8 26 #include "mbed.h"
foxbrianr 0:e24f6400a8c8 27
foxbrianr 1:a2073f60d3a6 28 #define MAX_ADDR_LENGTH 20
foxbrianr 0:e24f6400a8c8 29 #define MAX_ADDRESSES 100
foxbrianr 0:e24f6400a8c8 30
foxbrianr 0:e24f6400a8c8 31 class Address
foxbrianr 0:e24f6400a8c8 32 {
foxbrianr 0:e24f6400a8c8 33 public:
foxbrianr 0:e24f6400a8c8 34
foxbrianr 0:e24f6400a8c8 35 int address;
foxbrianr 0:e24f6400a8c8 36 char description[MAX_ADDR_LENGTH];
foxbrianr 1:a2073f60d3a6 37
foxbrianr 1:a2073f60d3a6 38 Address () {
foxbrianr 1:a2073f60d3a6 39 }
foxbrianr 1:a2073f60d3a6 40
foxbrianr 1:a2073f60d3a6 41 Address (const Address &obj) {
foxbrianr 1:a2073f60d3a6 42 // body of constructor
foxbrianr 1:a2073f60d3a6 43 address = obj.address;
foxbrianr 1:a2073f60d3a6 44 strcpy(description, obj.description);
foxbrianr 1:a2073f60d3a6 45 }
foxbrianr 1:a2073f60d3a6 46
foxbrianr 1:a2073f60d3a6 47 Address operator=(const Address& b) {
foxbrianr 1:a2073f60d3a6 48 Address a (b);
foxbrianr 1:a2073f60d3a6 49 return a;
foxbrianr 1:a2073f60d3a6 50 }
foxbrianr 0:e24f6400a8c8 51
foxbrianr 0:e24f6400a8c8 52 };
foxbrianr 0:e24f6400a8c8 53
foxbrianr 0:e24f6400a8c8 54 class AddressMap
foxbrianr 0:e24f6400a8c8 55 {
foxbrianr 0:e24f6400a8c8 56
foxbrianr 0:e24f6400a8c8 57 public:
foxbrianr 0:e24f6400a8c8 58
foxbrianr 0:e24f6400a8c8 59 Address addresses[MAX_ADDRESSES];
foxbrianr 0:e24f6400a8c8 60
foxbrianr 1:a2073f60d3a6 61 int reset();
foxbrianr 1:a2073f60d3a6 62 int init();
foxbrianr 0:e24f6400a8c8 63 int load();
foxbrianr 1:a2073f60d3a6 64 int save();
foxbrianr 1:a2073f60d3a6 65
foxbrianr 0:e24f6400a8c8 66 void display(Serial *pc);
foxbrianr 2:180c90fb759c 67
foxbrianr 1:a2073f60d3a6 68 char* getDescription(unsigned char idx );
foxbrianr 0:e24f6400a8c8 69
foxbrianr 1:a2073f60d3a6 70 };
foxbrianr 1:a2073f60d3a6 71
foxbrianr 1:a2073f60d3a6 72 #endif