Baseline for testing
AddressMap.h@2:180c90fb759c, 2019-09-17 (annotated)
- 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?
User | Revision | Line number | New 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 |