diff options
author | Jenna Fox <a@creativepony.com> | 2012-09-30 10:00:17 +1000 |
---|---|---|
committer | Jenna Fox <a@creativepony.com> | 2012-09-30 10:00:17 +1000 |
commit | 2d6072e4b4f365297da2d1cc933ebc8e71f92d30 (patch) | |
tree | c3d79ed1e424effb85fd7f70a275e28a0a24555f /commandline/library/micronucleus_lib.h | |
parent | 1c867a4733cbf3a8de8f746c50171c977520766a (diff) | |
parent | 35cc54629ade1abfb801b832534f6c7f45eff20c (diff) | |
download | micronucleus-2d6072e4b4f365297da2d1cc933ebc8e71f92d30.tar.gz micronucleus-2d6072e4b4f365297da2d1cc933ebc8e71f92d30.tar.bz2 micronucleus-2d6072e4b4f365297da2d1cc933ebc8e71f92d30.zip |
Merge branch 'master' of github.com:Bluebie/micronucleus-t85 into heavy-squeeze
Diffstat (limited to 'commandline/library/micronucleus_lib.h')
-rw-r--r-- | commandline/library/micronucleus_lib.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/commandline/library/micronucleus_lib.h b/commandline/library/micronucleus_lib.h new file mode 100644 index 0000000..8a004e4 --- /dev/null +++ b/commandline/library/micronucleus_lib.h @@ -0,0 +1,87 @@ +#ifndef MICRONUCLEUS_LIB_H +#define MICRONUCLEUS_LIB_H + +/* + Created: September 2012 + by ihsan Kehribar <ihsan@kehribar.me> + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is furnished to do + so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +/******************************************************************************** +* Header files +********************************************************************************/ +#if defined(LINUX) + #include <usb.h> // this is libusb, see http://libusb.sourceforge.net/ +#else + #include <lusb0_usb.h> // this is libusb, see http://libusb.sourceforge.net/ +#endif +#include "opendevice.h" // common code moved to separate module +/*******************************************************************************/ + +/******************************************************************************** +* USB details +********************************************************************************/ +#define VENDOR_ID 0x16D0 +#define PRODUCT_ID 0x0753 +#define USB_TIMEOUT 0xFFFF +#define RX_BUFFER_SIZE 64 +#define TX_BUFFER_SIZE 64 +/*******************************************************************************/ + +/******************************************************************************** +* Declearations +********************************************************************************/ +typedef usb_dev_handle micronucleus; +unsigned char rxBuffer[RX_BUFFER_SIZE]; /* This has to be unsigned for the data's sake */ +unsigned char tBuffer[TX_BUFFER_SIZE]; /* This has to be unsigned for the data's sake */ +/*******************************************************************************/ + +/******************************************************************************** +* Try to connect to the device +* Returns: device handle for success, NULL for fail +********************************************************************************/ +micronucleus* micronucleus_connect(); +/*******************************************************************************/ + +/******************************************************************************** +* Get the device info +********************************************************************************/ +int micronucleus_getDeviceInfo(micronucleus* deviceHandle, unsigned int* availableMemory, unsigned char* deviceSize, unsigned char* sleepAmount); +/*******************************************************************************/ + +/******************************************************************************** +* Erase the flash memory +********************************************************************************/ +int micronucleus_eraseFlash(micronucleus* deviceHandle,unsigned int sleepAmount); +/*******************************************************************************/ + +/******************************************************************************** +* Write the flash memory +********************************************************************************/ +int micronucleus_writeFlash(micronucleus* deviceHandle, unsigned int startAddress, unsigned int endAddress, unsigned char* buffer, unsigned char sleepAmount); +/*******************************************************************************/ + +/******************************************************************************** +* Starts the user application +********************************************************************************/ +int micronucleus_startApp(micronucleus* deviceHandle); +/*******************************************************************************/ + +#endif |