Tree @f8e260b2-4bf8-4001-824d-3b9d66db6d19/main (Download .tar.gz)
- ..
- forms
- icons
- aboutmdlg.cpp
- aboutmdlg.h
- at17xxx.cpp
- at17xxx.h
- at250bus.cpp
- at250bus.h
- at250bus2.cpp
- at250bus2.h
- at250xx.cpp
- at250xx.h
- at25xxx.cpp
- at25xxx.h
- at89sbus.cpp
- at89sbus.h
- at89sxx.cpp
- at89sxx.h
- at90sbus.cpp
- at90sbus.h
- at90sxx.cpp
- at90sxx.h
- at93cbus.cpp
- at93cbus.h
- at93cxx.cpp
- at93cxx.h
- at93cxx8.cpp
- at93cxx8.h
- binfbuf.cpp
- binfbuf.h
- bitfield.cpp
- bitfield.h
- blockmdlg.cpp
- blockmdlg.h
- businter.h
- busio.cpp
- busio.h
- ch341a.cpp
- ch341a.h
- CMakeLists.txt
- crc.cpp
- crc.h
- csmfbuf.cpp
- csmfbuf.h
- device.cpp
- device.h
- dt006interf.cpp
- dt006interf.h
- e2401.cpp
- e2401.h
- e24xx-1.cpp
- e24xx-1.h
- e24xx-2.cpp
- e24xx-2.h
- e24xx-5.cpp
- e24xx-5.h
- e24xx.cpp
- e24xx.h
- e2app.cpp
- e2app.h
- e2awinfo.cpp
- e2awinfo.h
- e2cmdw.cpp
- e2cmdw.h
- e2dlg.cpp
- e2dlg.h
- e2pfbuf.cpp
- e2pfbuf.h
- e2phead.h
- e2profil.cpp
- e2profil.h
- easyi2c_interf.cpp
- easyi2c_interf.h
- eeptypes.cpp
- eeptypes.h
- errcode.h
- filebuf.cpp
- filebuf.h
- filldlg.cpp
- filldlg.h
- fusemdlg.cpp
- fusemdlg.h
- globals.h
- i2cbus.cpp
- i2cbus.h
- imbus.cpp
- imbus.h
- infomdlg.cpp
- infomdlg.h
- interfconv.cpp
- interfconv.h
- intfbuf.cpp
- intfbuf.h
- ispinterf.cpp
- ispinterf.h
- jdminter.h
- linuxsysfsint.cpp
- linuxsysfsint.h
- lpt_ext_interf.cpp
- lpt_ext_interf.h
- lpt_io_interf.cpp
- lpt_io_interf.h
- lptinterf.cpp
- lptinterf.h
- main.cpp
- microbus.cpp
- microbus.h
- motsfbuf.cpp
- motsfbuf.h
- mpsse_interf.cpp
- mpsse_interf.h
- nvm3060.cpp
- nvm3060.h
- pgminter.cpp
- pgminter.h
- pic125xx.cpp
- pic125xx.h
- pic12bus.cpp
- pic12bus.h
- pic168xx.cpp
- pic168xx.h
- pic16xx.cpp
- pic16xx.h
- picbus.cpp
- picbus.h
- picbusnew.cpp
- picbusnew.h
- ponyioint.cpp
- ponyioint.h
- ponyprog.qrc
- portint.cpp
- portint.h
- ppuser.h
- prefdialog.cpp
- prefdialog.h
- progoption.cpp
- progoption.h
- resource.h
- rs232int.cpp
- rs232int.h
- sde2506.cpp
- sde2506.h
- sdebus.cpp
- sdebus.h
- sernumdlg.cpp
- sernumdlg.h
- spi-bus.cpp
- spi-bus.h
- Translator.cpp
- Translator.h
- types.h
- usbwatcher.cpp
- usbwatcher.h
- version-cmake.h.in
- version-qmake.h.in
- version.h.in
- wait.cpp
- wait.h
- x2444.cpp
- x2444.h
- x2444bus.cpp
- x2444bus.h
imbus.h @f8e260b2-4bf8-4001-824d-3b9d66db6d19/main — raw · history · blame
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | //=========================================================================// // // // PonyProg - Serial Device Programmer // // // // Copyright (C) 1997-2020 Claudio Lanconelli // // // // http://ponyprog.sourceforge.net // // // //-------------------------------------------------------------------------// // // // This program is free software; you can redistribute it and/or // // modify it under the terms of the GNU General Public License // // as published by the Free Software Foundation; either version2 of // // the License, or (at your option) any later version. // // // // This program is distributed in the hope that it will be useful, // // but WITHOUT ANY WARRANTY; without even the implied warranty of // // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // // General Public License for more details. // // // // You should have received a copy of the GNU General Public License // // along with this program (see LICENSE); if not, write to the // // Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // // // //=========================================================================// #ifndef _IMBUS_H #define _IMBUS_H #include "busio.h" class IMBus : public BusIO { public: IMBus(BusInterface *ptr = 0); virtual ~IMBus(); long Read(int addr, uint8_t *data, long length, int page_size = 0); long Write(int addr, uint8_t const *data, long length, int page_size = 0); int Reset(); void SetDelay(); void SetStatusLocation(int val); void UseSecondaryAddress(bool val); void SetDataMode(int val); void SetProgDelay(int val); protected: int SendAddrWord(int wo); int SendDataWord(long wo, int wlen = 8); int RecDataWord(int wlen = 8); int WaitReadyAfterWrite(int addr, int delay, long timeout = 5000); int IdentPulse(); void setIdent() { busI->SetControlLine(1); } void clearIdent() { busI->SetControlLine(0); } private: int StatusLocation; bool SecondaryAddress; bool Data16_mode; int ProgDelay; int SendDataBit(int b); int RecDataBit(); void bitDI(int b) { busI->SetDataOut(b); } void setDI() { busI->SetDataOut(1); } void clearDI() { busI->SetDataOut(0); } void setCLK() { busI->SetClock(1); } void clearCLK() { busI->SetClock(0); } int getDO() const { return busI->GetDataIn(); } }; #endif |