This Automatic mode is the most simple lib for MCU Gear. You don't need to think about Bank.

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MCUGearA.h Source File

MCUGearA.h

00001 /* MCU Gear Library, only for testing MCUGear without any circuit you connected.
00002  * Copyright (c) 2013, NestEgg Inc., http://www.mcugear.com/
00003  *
00004  * Permission is hereby granted, free of charge, to any person obtaining a copy
00005  * of this software and associated documentation files (the "Software"), to deal
00006  * in the Software without restriction, including without limitation the rights
00007  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00008  * copies of the Software, and to permit persons to whom the Software is
00009  * furnished to do so, subject to the following conditions:
00010  *
00011  * The above copyright notice and this permission notice shall be included in
00012  * all copies or substantial portions of the Software.
00013  *
00014  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00015  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00016  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00017  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00018  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00019  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00020  * THE SOFTWARE.
00021  */
00022 
00023 #include "commonA.h"
00024 
00025 class MCUGear
00026 {        
00027     public:
00028         MCUGear(PinName sda, PinName scl, char addr);
00029         void disconnectModule(void);
00030         void connectModuleA(void);
00031         void savePinSetting(uint8_t number, unsigned char CPUPin, unsigned char Direction ,unsigned char ModulePin);
00032         uint8_t detectModule(void);
00033         //void startReg(char bank);
00034         uint8_t setWireA(uint8_t mcuIO, uint8_t direction, uint8_t moduleIO);
00035         //void endReg(char bank);
00036         
00037     protected:
00038         void fpga_write(unsigned char adr, unsigned char data);
00039         void write(uint8_t c);
00040         void startReg(char bank);
00041         void endReg(void);
00042         void saveWire(uint8_t mcuIO, uint8_t moduleIO);
00043         
00044         uint8_t _addr;
00045         uint8_t _pnum;
00046         I2C _i2c;
00047         char _bank;
00048         uint8_t _mcuIO[16];
00049         uint8_t _moduleIO[16];
00050         int _counter;
00051                 
00052         typedef enum {
00053           IO_REG_EN = 0x80,
00054           IO_REG_OUT_DIR = 0x40,
00055           IO_REG_IN_DIR  = 0x00,
00056           IO_REG_DISABLE = 0x3f
00057         } en_fpga_io_reg;
00058 
00059 };
00060 
00061 
00062