Merge branch 'controller-upgrade'
This commit is contained in:
commit
b45ee3aba3
21 changed files with 8277 additions and 7 deletions
|
@ -10,6 +10,7 @@ SET( Plugin_SRCS
|
|||
controller.cpp
|
||||
controllerlist.cpp
|
||||
controllersplugin.cpp
|
||||
tellstick.cpp
|
||||
)
|
||||
|
||||
SET( Plugin_HDRS
|
||||
|
@ -19,12 +20,19 @@ SET( Plugin_HDRS
|
|||
SET( Plugin_MOC_HDRS
|
||||
controller.h
|
||||
controllerlist.h
|
||||
tellstick.h
|
||||
)
|
||||
|
||||
SET( Plugin_RESOURCES
|
||||
controllers.qrc
|
||||
)
|
||||
|
||||
SET( Plugin_PATH "com.telldus.controllers" )
|
||||
|
||||
SET( Plugin_EXTRA
|
||||
btn_action_remove.png
|
||||
btn_action_upgrade.png
|
||||
ControllerUpgradeDialog.qml
|
||||
ControllerView.qml
|
||||
header_bg.png
|
||||
HeaderTitle.qml
|
||||
|
@ -32,11 +40,13 @@ SET( Plugin_EXTRA
|
|||
main.qml
|
||||
qmldir
|
||||
row_bg.png
|
||||
StateLabel.qml
|
||||
tellstick.png
|
||||
tellstick_duo.png
|
||||
)
|
||||
|
||||
FIND_LIBRARY(FTD2XX_LIBRARY ftd2xx)
|
||||
FIND_PACKAGE(TelldusCore REQUIRED)
|
||||
SET( Plugin_LIBRARIES ${TELLDUSCORE_LIBRARY} )
|
||||
SET( Plugin_LIBRARIES ${TELLDUSCORE_LIBRARY} ${FTD2XX_LIBRARY} )
|
||||
|
||||
INCLUDE( ../TelldusCenterPlugin.cmake NO_POLICY_SCOPE )
|
||||
|
|
124
telldus-gui/Plugins/Controllers/ControllerUpgradeDialog.qml
Normal file
124
telldus-gui/Plugins/Controllers/ControllerUpgradeDialog.qml
Normal file
|
@ -0,0 +1,124 @@
|
|||
import QtQuick 1.1
|
||||
import QtDesktop 0.1
|
||||
|
||||
Window {
|
||||
id: controllerUpgradeDialog
|
||||
width: 400
|
||||
height: 200
|
||||
|
||||
modal: true
|
||||
title: "Upgrade TellStick"
|
||||
visible: false
|
||||
deleteOnClose: false
|
||||
|
||||
property int step: controller.upgradeStep
|
||||
property variant controller: undefined
|
||||
Connections {
|
||||
target: controller
|
||||
onUpgradeDone: state = 'upgradeDone'
|
||||
}
|
||||
|
||||
Item {
|
||||
id: confirm
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
clip: true
|
||||
Item {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 16
|
||||
|
||||
Column {
|
||||
Text { text: "This will upgrade your TellStick to the latest version.\n\n" }
|
||||
Text { text: "Please do not unplug the TellStick or end the application during upgrade." }
|
||||
Text { text: "Doing so might render the TellStick unusable." }
|
||||
}
|
||||
Row {
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
spacing: 8
|
||||
Button {
|
||||
text: "Upgrade"
|
||||
onClicked: controllerUpgradeDialog.state = 'upgrade'
|
||||
}
|
||||
Button {
|
||||
text: "Close"
|
||||
onClicked: controllerUpgradeDialog.visible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
id: content
|
||||
anchors.topMargin:16
|
||||
anchors.margins: 16
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.right
|
||||
width: parent.width - 32
|
||||
height: parent.height - 32
|
||||
anchors.right: undefined
|
||||
clip: true
|
||||
Column {
|
||||
StateLabel { text: "1. Disconnecting TellStick"; currentState: controllerUpgradeDialog.step; state: 0 }
|
||||
StateLabel { text: "2. Aquiring TellStick"; currentState: controllerUpgradeDialog.step; state: 1 }
|
||||
StateLabel { text: "3. Entering bootloader"; currentState: controllerUpgradeDialog.step; state: 2 }
|
||||
StateLabel { text: "4. Uploading firmware"; currentState: controllerUpgradeDialog.step; state: 3 }
|
||||
StateLabel { text: "5. Rebooting TellStick"; currentState: controllerUpgradeDialog.step; state: 4 }
|
||||
StateLabel { text: "6. Connecting TellStick"; currentState: controllerUpgradeDialog.step; state: 5 }
|
||||
}
|
||||
ProgressBar {
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
minimumValue: 0
|
||||
maximumValue: 100
|
||||
value: controller.upgradeProgress
|
||||
}
|
||||
}
|
||||
Item {
|
||||
id: done
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.right
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
clip: true
|
||||
Item {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 16
|
||||
|
||||
Column {
|
||||
Text { text: "Upgrade done.\n\n" }
|
||||
Text { text: "Your TellStick has now been flashed with the latest firmware." }
|
||||
}
|
||||
Button {
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
text: "Close"
|
||||
onClicked: controllerUpgradeDialog.visible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: 'upgrade'
|
||||
AnchorChanges { target: confirm; anchors.left: undefined; anchors.right: controllerUpgradeDialog.left }
|
||||
AnchorChanges { target: content; anchors.left: controllerUpgradeDialog.left; anchors.right: undefined }
|
||||
StateChangeScript { script: controller.upgrade() }
|
||||
},
|
||||
State {
|
||||
name: 'upgradeDone'
|
||||
AnchorChanges { target: confirm; anchors.left: undefined; anchors.right: controllerUpgradeDialog.left }
|
||||
AnchorChanges { target: content; anchors.left: undefined; anchors.right: controllerUpgradeDialog.left }
|
||||
AnchorChanges { target: done; anchors.left: controllerUpgradeDialog.left; anchors.right: undefined }
|
||||
}
|
||||
]
|
||||
|
||||
transitions: [
|
||||
Transition {
|
||||
AnchorAnimation { duration: 500; easing.type: Easing.InOutQuad }
|
||||
}
|
||||
]
|
||||
}
|
|
@ -2,12 +2,38 @@ import QtQuick 1.1
|
|||
import QtDesktop 0.1
|
||||
|
||||
BorderImage {
|
||||
id: view
|
||||
source: "row_bg.png"
|
||||
border.left: 5; border.top: 5
|
||||
border.right: 5; border.bottom: 5
|
||||
width: parent.width
|
||||
height: content.height + content.anchors.margins*2
|
||||
|
||||
property variant c: controller //Needed for upgradeDialogComponent
|
||||
|
||||
Component {
|
||||
id: upgradeDialogComponent
|
||||
ControllerUpgradeDialog {
|
||||
controller: c
|
||||
}
|
||||
}
|
||||
Loader {
|
||||
id: upgradeDialog
|
||||
visible: false
|
||||
onVisibleChanged: {
|
||||
if (visible) {
|
||||
upgradeDialog.sourceComponent = upgradeDialogComponent
|
||||
upgradeDialog.item.visible = true
|
||||
} else {
|
||||
upgradeDialog.sourceComponent = undefined
|
||||
}
|
||||
}
|
||||
Connections {
|
||||
target: upgradeDialog.item
|
||||
onVisibleChanged: upgradeDialog.visible = upgradeDialog.item.visible
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
id: content
|
||||
anchors.top: parent.top
|
||||
|
@ -50,6 +76,14 @@ BorderImage {
|
|||
onClicked: controller.tryRemove();
|
||||
}
|
||||
}
|
||||
Image {
|
||||
source: "btn_action_upgrade.png"
|
||||
visible: controller.upgradable
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: upgradeDialog.visible = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
10
telldus-gui/Plugins/Controllers/StateLabel.qml
Normal file
10
telldus-gui/Plugins/Controllers/StateLabel.qml
Normal file
|
@ -0,0 +1,10 @@
|
|||
import QtQuick 1.1
|
||||
import QtDesktop 0.1
|
||||
|
||||
Text {
|
||||
property int currentState: -1
|
||||
property int state: 0
|
||||
id: stateLabel;
|
||||
text: ""
|
||||
font.bold: state == currentState
|
||||
}
|
BIN
telldus-gui/Plugins/Controllers/btn_action_upgrade.png
Normal file
BIN
telldus-gui/Plugins/Controllers/btn_action_upgrade.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
|
@ -6,8 +6,9 @@
|
|||
class Controller::PrivateData {
|
||||
public:
|
||||
bool available, nameChanged;
|
||||
int id, type;
|
||||
int id, type, upgradeStep;
|
||||
QString name, serial, firmware;
|
||||
qreal upgradeProgress;
|
||||
};
|
||||
|
||||
Controller::Controller(int id, int type, const QString &name, QObject *parent) :
|
||||
|
@ -19,6 +20,8 @@ Controller::Controller(int id, int type, const QString &name, QObject *parent) :
|
|||
d->available = false;
|
||||
d->nameChanged = false;
|
||||
d->name = name;
|
||||
d->upgradeStep = -1;
|
||||
d->upgradeProgress = 0;
|
||||
|
||||
const int DATA_LENGTH = 255;
|
||||
char buff[DATA_LENGTH];
|
||||
|
@ -42,6 +45,7 @@ void Controller::setAvailable(bool available) {
|
|||
d->available = available;
|
||||
emit availableChanged();
|
||||
emit firmwareChanged();
|
||||
emit upgradableChanged();
|
||||
}
|
||||
|
||||
QString Controller::firmware() const {
|
||||
|
@ -100,3 +104,39 @@ int Controller::type() const {
|
|||
return d->type;
|
||||
}
|
||||
|
||||
bool Controller::upgradable() const {
|
||||
if (!this->available()) {
|
||||
return false;
|
||||
}
|
||||
return isUpgradable();
|
||||
}
|
||||
|
||||
void Controller::upgrade() {
|
||||
//Do nothing
|
||||
}
|
||||
|
||||
qreal Controller::upgradeProgress() {
|
||||
return d->upgradeProgress;
|
||||
}
|
||||
|
||||
int Controller::upgradeStep() const {
|
||||
return d->upgradeStep;
|
||||
}
|
||||
|
||||
void Controller::setUpgradeStep(int newStep) {
|
||||
d->upgradeStep = newStep;
|
||||
if (newStep = -1) {
|
||||
setUpgradeProgress(0);
|
||||
}
|
||||
emit upgradeStepChanged();
|
||||
}
|
||||
|
||||
void Controller::setUpgradeProgress(qreal completed) {
|
||||
d->upgradeProgress = completed;
|
||||
emit upgradeProgressChanged();
|
||||
}
|
||||
|
||||
bool Controller::isUpgradable() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -12,14 +12,17 @@ class Controller : public QObject
|
|||
Q_PROPERTY(int id READ id NOTIFY idChanged)
|
||||
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
|
||||
Q_PROPERTY(QString serial READ serial NOTIFY serialChanged)
|
||||
Q_PROPERTY(int type READ type NOTIFY typeChanged())
|
||||
Q_PROPERTY(int type READ type NOTIFY typeChanged)
|
||||
Q_PROPERTY(bool upgradable READ upgradable NOTIFY upgradableChanged)
|
||||
Q_PROPERTY(qreal upgradeProgress READ upgradeProgress NOTIFY upgradeProgressChanged)
|
||||
Q_PROPERTY(int upgradeStep READ upgradeStep NOTIFY upgradeStepChanged)
|
||||
|
||||
public:
|
||||
explicit Controller(int id = 0, int type = 1, const QString &name = "", QObject *parent = 0);
|
||||
~Controller();
|
||||
virtual ~Controller();
|
||||
|
||||
bool available() const;
|
||||
void setAvailable(bool available);
|
||||
virtual void setAvailable(bool available);
|
||||
|
||||
QString firmware() const;
|
||||
void setFirmware(const QString &version);
|
||||
|
@ -37,6 +40,11 @@ public:
|
|||
|
||||
int type() const;
|
||||
|
||||
bool upgradable() const;
|
||||
Q_INVOKABLE virtual void upgrade();
|
||||
qreal upgradeProgress();
|
||||
int upgradeStep() const;
|
||||
|
||||
signals:
|
||||
void availableChanged();
|
||||
void firmwareChanged();
|
||||
|
@ -44,6 +52,15 @@ signals:
|
|||
void nameChanged();
|
||||
void serialChanged();
|
||||
void typeChanged();
|
||||
void upgradableChanged();
|
||||
void upgradeProgressChanged();
|
||||
void upgradeStepChanged();
|
||||
void upgradeDone();
|
||||
|
||||
protected:
|
||||
virtual bool isUpgradable() const;
|
||||
void setUpgradeStep(int newStep);
|
||||
void setUpgradeProgress(qreal completed);
|
||||
|
||||
private:
|
||||
class PrivateData;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "controllerlist.h"
|
||||
#include "controller.h"
|
||||
#include "tellstick.h"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
|
@ -25,7 +26,7 @@ ControllerList::ControllerList(QObject *parent) :
|
|||
char name[DATA_LENGTH];
|
||||
int available, controllerId, type;
|
||||
while(tdController(&controllerId, &type, name, DATA_LENGTH, &available) == TELLSTICK_SUCCESS) {
|
||||
Controller *controller = new Controller(controllerId, type, QString::fromUtf8(name), this);
|
||||
Controller *controller = loadController(controllerId, type, QString::fromUtf8(name), this);
|
||||
controller->setAvailable(available);
|
||||
connect(controller, SIGNAL(nameChanged()), this, SIGNAL(changed()));
|
||||
d->list.append(controller);
|
||||
|
@ -72,7 +73,7 @@ void ControllerList::controllerEventSlot(int controllerId, int changeEvent, int
|
|||
|
||||
if (changeEvent == TELLSTICK_DEVICE_ADDED) {
|
||||
beginInsertRows( QModelIndex(), d->list.size(), d->list.size() );
|
||||
Controller *controller = new Controller(controllerId, changeType, "", this);
|
||||
Controller *controller = loadController(controllerId, changeType, "", this);
|
||||
controller->setAvailable(true);
|
||||
connect(controller, SIGNAL(nameChanged()), this, SIGNAL(changed()));
|
||||
d->list.append(controller);
|
||||
|
@ -93,6 +94,13 @@ void ControllerList::controllerEventSlot(int controllerId, int changeEvent, int
|
|||
}
|
||||
}
|
||||
|
||||
Controller *ControllerList::loadController(int id, int type, const QString &name, QObject *parent) {
|
||||
if (type == 1 || type == 2) {
|
||||
return new TellStick(id, type, "", parent);
|
||||
}
|
||||
return new Controller(id, type, "", parent);
|
||||
}
|
||||
|
||||
void WINAPI ControllerList::controllerEvent( int controllerId, int changeEvent, int changeType, const char *newValue, int callbackId, void *context) {
|
||||
ControllerList *controllerList = reinterpret_cast<ControllerList *>(context);
|
||||
if (!controllerList) {
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
#include <QScriptValue>
|
||||
#include <telldus-core.h>
|
||||
|
||||
class Controller;
|
||||
|
||||
class ControllerList : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -27,6 +29,7 @@ private slots:
|
|||
void controllerEventSlot(int controllerId, int changeEvent, int changeType, const QString &newValue);
|
||||
|
||||
private:
|
||||
static Controller *loadController(int id, int type, const QString &name, QObject *parent);
|
||||
static void WINAPI controllerEvent( int controllerId, int changeEvent, int changeType, const char *newValue, int callbackId, void *context);
|
||||
class PrivateData;
|
||||
PrivateData *d;
|
||||
|
|
7
telldus-gui/Plugins/Controllers/controllers.qrc
Normal file
7
telldus-gui/Plugins/Controllers/controllers.qrc
Normal file
|
@ -0,0 +1,7 @@
|
|||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>firmware/TellStick.hex</file>
|
||||
<file>firmware/TellStickDuo.hex</file>
|
||||
<file>firmware/TellStickNet.hex</file>
|
||||
</qresource>
|
||||
</RCC>
|
114
telldus-gui/Plugins/Controllers/firmware/TellStick.hex
Normal file
114
telldus-gui/Plugins/Controllers/firmware/TellStick.hex
Normal file
|
@ -0,0 +1,114 @@
|
|||
:100000001728FF3FFF3FFF3FFF00030E83018316CA
|
||||
:10001000AA000408A9000A08AB008A012B088A007C
|
||||
:10002000290884002A0E8300FF0E7F0E09000D3080
|
||||
:1000300003138316AC000A30AD002B30AE005630EF
|
||||
:10004000AF00B0010D30B1000A30B200B30154303E
|
||||
:10005000B4005330B5003030B6003030B700313026
|
||||
:10006000B800B9010B30BC000A30BD00BE017223DC
|
||||
:100070008501860187018312850186018701871426
|
||||
:1000800035237823AC308316C0001C233630C800DB
|
||||
:100090006A23B1308316C0001C2303138316031395
|
||||
:1000A00083166123700803194D2845237008A800A2
|
||||
:1000B00067289028BE144D289028BC30C800A6227E
|
||||
:1000C0004D28BD30C800A6224D2890284D2828086C
|
||||
:1000D000423A031959282808443A03195A2828088B
|
||||
:1000E000483A03195C2828084D3A03195C28280867
|
||||
:1000F0004E3A03195C282808503A03195D2828084D
|
||||
:10010000523A031961282808533A03196528280828
|
||||
:10011000543A031965282808563A031965286628B1
|
||||
:10012000F822700803194D282B30C8006A23831663
|
||||
:100130002808C8006A2383162808533A031DCC28D0
|
||||
:10014000BA01BB0180303B06F00080307002031D15
|
||||
:10015000AB283D083A020318CB28831287102D22C2
|
||||
:1001600087148316BF013C083F020318C7280330D9
|
||||
:10017000FB00FF30FA00FB0BBE28C128FA0BBE289B
|
||||
:10018000BB289630FA00FA0BC328BF0AB328BA0A74
|
||||
:100190000319BB0AA22815292808543A031DFC2874
|
||||
:1001A000BA01BB0180303B06F00080307002031DB5
|
||||
:1001B000DB283D083A020318FB28831287102C2104
|
||||
:1001C00087148316BF013C083F020318F728033049
|
||||
:1001D000FB00FF30FA00FB0BEE28F128FA0BEE28AB
|
||||
:1001E000EB289630FA00FA0BF328BF0AE328BA0A84
|
||||
:1001F0000319BB0AD22815292808563A031D0429D9
|
||||
:100200003630C8006A23152983162808483A031D8A
|
||||
:100210000D293330C8006A231529831628084D3A62
|
||||
:10022000031D1529B430C0001C23031383160313C8
|
||||
:100230008316BE1C1E292030C0001C23BE100B30AC
|
||||
:10024000BC000A30BD000D30C8006A230A30831696
|
||||
:10025000C8006A234D282B2903138316C4012030BC
|
||||
:10026000C000C101043041020318B42940088400D1
|
||||
:100270000008F2007208013A031D53290130F4000E
|
||||
:100280004108F000740803194929F00D7010FF3F70
|
||||
:100290004329A030F00770088400FF308000FF3051
|
||||
:1002A000840A8000B1290130F4004108F00074088C
|
||||
:1002B00003195E29F00D7010FF3F58297008A03F08
|
||||
:1002C000F200400884000008F00072088400700802
|
||||
:1002D0008000840A80010130F4004108F0007408B5
|
||||
:1002E00003197629F00D7010FF3F70297008A03FA8
|
||||
:1002F000C700470884000008F000840A0008F100E5
|
||||
:100300000A30F4000030F500CD228316470884003F
|
||||
:10031000700880007108840A80000130F4004108F0
|
||||
:10032000F000740803199829F00D7010FF3F92290E
|
||||
:100330007008A03FF200720884000008F000840AF0
|
||||
:100340000008F1007008FF3CF0007108031C013F39
|
||||
:10035000FF3CF10072088400700880007108840A74
|
||||
:100360008000C00AC10A3229400884000008C20087
|
||||
:10037000C00A831210100C1483164208003C0318A4
|
||||
:10038000282A400884000008C300C101043041024B
|
||||
:100390000318262AC0304305F4000630F200740822
|
||||
:1003A000F00072080319D829F00CF013FF3FD2298E
|
||||
:1003B0000130F40074080319E129F00D7010FF3FBB
|
||||
:1003C000DB297008A03F84000008F200840A0008BE
|
||||
:1003D000F3007208C5007308C600C30D4310C30DB7
|
||||
:1003E00043107308FF3A031DF729FF307206031DFF
|
||||
:1003F000FB29C4091E2A83120C1CFB2910100C10A7
|
||||
:10040000003083164505F4004608FF39F5007508ED
|
||||
:10041000F000F101700883128F00831645088312E3
|
||||
:100420008E0083164409F0007008C4000030701874
|
||||
:100430002030831206062039860610148316C20364
|
||||
:1004400001304202031C262AC10AC629C00ABC295F
|
||||
:1004500083120C1C282A8612080003138316C3017A
|
||||
:10046000831210100C1420308316C200420884003E
|
||||
:100470000008F2007208003A0319A12A4208840019
|
||||
:100480000008F2007208013A031D482AC3099E2A97
|
||||
:10049000420884000008C000C1010030C1004008CB
|
||||
:1004A000F2004108F300F20DF30D7210F20DF30D9E
|
||||
:1004B0007210F20DF30D72107208C0007308C100C3
|
||||
:1004C000420884000008F0007008F007F1010318EA
|
||||
:1004D000F10A7208F00773080318013FF10770086A
|
||||
:1004E000C0007108C1007008FF3CC0007108031C07
|
||||
:1004F000013FFF3CC10083120C1C7B2A10100C1022
|
||||
:10050000003083164005F4004108FF39F5007508F6
|
||||
:10051000F000F101700883128F00831640088312E7
|
||||
:100520008E0083164309F0007008C3000030701875
|
||||
:100530002030831206062039860610148316C20A5C
|
||||
:10054000362A83120C1CA12A861208000313831674
|
||||
:10055000C901831210100C108F018E0110140313A7
|
||||
:1005600083128C1AC32A0C1CBB2A8316C90A831255
|
||||
:100570008F018E010C10053083164902031CC22A1C
|
||||
:10058000F0010800AF2A03138316532348088400A0
|
||||
:10059000700880000130F000080003138312FB0193
|
||||
:1005A000FA01F9018030F800F10CF00C031CE12A8B
|
||||
:1005B0007408F90775080318750FFA070318FB0A82
|
||||
:1005C0000310F01FE92A7408FA0775080318750F5D
|
||||
:1005D000FB07FB0CFA0CF90CF80C031CD42A7B0863
|
||||
:1005E000F3007A08F2007908F1007808F0000800BA
|
||||
:1005F00003138316C0012030C1005030400203189D
|
||||
:100600001A2B4108C800A6227008031D092BF0010F
|
||||
:100610000800410884000008F10071082B3A031D0E
|
||||
:10062000172B4108840080010130F0000800C10A46
|
||||
:10063000C00AFD2AF001080003138316C101C2019C
|
||||
:100640004108400784000008F1007108003A0319CE
|
||||
:10065000342B4108400784000008C8006A23831631
|
||||
:10066000C10A0319C20A202B08006730031383163E
|
||||
:100670009900181398161812181583129817181342
|
||||
:1006800018168316861406110800031383121A081D
|
||||
:100690008316C0008312981C4F2B1812181683164D
|
||||
:1006A0004008F0000800031383121A088316CA00DA
|
||||
:1006B0008312981C5D2B1812181683164A08F00036
|
||||
:1006C00008000030031383128C1A0130F100710806
|
||||
:1006D000F000080003138316981C6A2B4808831245
|
||||
:1006E00099000800031383160F178F160F160800C2
|
||||
:1006F00003138312901210160800FF3FFF3FFF3FC5
|
||||
:04400E00F42FFFFF8D
|
||||
:00000001FF
|
967
telldus-gui/Plugins/Controllers/firmware/TellStickDuo.hex
Normal file
967
telldus-gui/Plugins/Controllers/firmware/TellStickDuo.hex
Normal file
|
@ -0,0 +1,967 @@
|
|||
:0400000014EF00F009
|
||||
:10000800FACFB6F4FBCFB7F4E9CFB8F4BCED19F0EA
|
||||
:10001800D8CFA4F4E8CFA5F4E0CFA6F48CEF18F07D
|
||||
:1000280004EE33F07C0EF66E000EF76E10EE27F03D
|
||||
:1000380035EC00F000EE00F014EE33F02EEC00F09A
|
||||
:1000480005EE00F011EE00F02EEC00F0000EF86E58
|
||||
:100058004CEF1CF0EE6AE550E150FCE1E250FAE1A9
|
||||
:1000680012000900F5CFEEFFE550E150FAE1E25049
|
||||
:10007800F8E1120074656D70657261747572656877
|
||||
:10008800756D696469747900010000000001000061
|
||||
:100098000100FFFFF3FFFFFF80FFFF0085D1040190
|
||||
:1000A80004015F51D8B401D001D014D04C0E040122
|
||||
:1000B8000401606501D001D00DD0520E0401040185
|
||||
:1000C800606101D001D006D00401716F010E0F6E7E
|
||||
:1000D800040171517DD1190E04010401606501D03C
|
||||
:1000E80001D00ED01E0E04010401606101D001D0C0
|
||||
:1000F80007D00401716F030E0F6E0401715168D1AE
|
||||
:10010800270E04010401606501D001D00ED02C0E29
|
||||
:1001180004010401606101D001D007D00401716FAE
|
||||
:10012800040E0F6E0401715153D1FFEC1AF050D137
|
||||
:10013800180E04010401606501D001D0F6D71D0E28
|
||||
:1001480004010401606101D001D0EFD70401716F8F
|
||||
:10015800050E0F6E040171513BD1030E0401040119
|
||||
:10016800606501D001D0E1D7090E04010401606186
|
||||
:1001780001D001D0DAD70401716F070E0F6E0401A8
|
||||
:10018800715126D10E6601D001D02DD0010E040187
|
||||
:100198000401606501D001D00ED0050E04010401F0
|
||||
:1001A800606101D001D007D00401716F010E0E6E9D
|
||||
:1001B800040171510DD1040E04010401606501D0E0
|
||||
:1001C80001D00ED0080E04010401606101D001D0F5
|
||||
:1001D80007D00401716F020E0E6E04017151F8D040
|
||||
:1001E800FFEC1AF0F5D00E04D8A401D001D023D02A
|
||||
:1001F800040E04010401606501D001D096D7080EF1
|
||||
:1002080004010401606101D001D08FD70401716F2E
|
||||
:10021800000E0E6E04017151040104012D4B2E2BAA
|
||||
:100228000401D890040147370401483704014937CD
|
||||
:1002380004014A37CDD00E50020AD8A401D001D00B
|
||||
:1002480027D0010E04010401606501D001D06DD7EB
|
||||
:10025800050E04010401606101D001D066D70401D4
|
||||
:10026800716F000E0E6E04017151040104012D4BD3
|
||||
:100278002E2B04010401475109120401D8900401EE
|
||||
:100288004737040148370401493704014A37A0D0E9
|
||||
:10029800FFEC1AF09DD00E6601D001D02DD0030ED0
|
||||
:1002A80004010401606501D001D00ED0090E0401DB
|
||||
:1002B8000401606101D001D007D00401716F010E03
|
||||
:1002C8000E6E0401715184D0080E040104016065AA
|
||||
:1002D80001D001D00ED0100E04010401606101D0DC
|
||||
:1002E80001D007D00401716F020E0E6E0401715126
|
||||
:1002F8006FD0FFEC1AF06CD00E04D8A401D001D056
|
||||
:1003080023D0080E04010401606501D001D00DD787
|
||||
:10031800100E04010401606101D001D006D7040168
|
||||
:10032800716F000E0E6E04017151040104012D4B12
|
||||
:100338002E2B0401D89004014737040148370401E3
|
||||
:10034800493704014A3744D00E50020AD8A401D0D4
|
||||
:1003580001D027D0030E04010401606501D001D04B
|
||||
:10036800E4D6090E04010401606101D001D0DDD694
|
||||
:100378000401716F000E0E6E040171510401040135
|
||||
:100388002D4B2E2B04010401475109120401D8906A
|
||||
:1003980004014737040148370401493704014A3743
|
||||
:1003A80017D0FFEC1AF014D00F50000A01E177D6ED
|
||||
:1003B800010A01E190D6020A01E1E4D6070A01E147
|
||||
:1003C800B7D6010A01E1C9D6020A01E164D700D013
|
||||
:1003D800040104012D51080A2E11D8A401D001D01E
|
||||
:1003E8004DD0032A050E036001D001D033D0095047
|
||||
:1003F8001324136E000E1420146E000E1520156EB3
|
||||
:10040800000E1620166E040E036001D001D010D025
|
||||
:1004180013C072F414C073F415C074F40401716B42
|
||||
:1004280071C413F072C414F073C415F074C416F0D8
|
||||
:1004380009501724176E000E1820186E000E192088
|
||||
:10044800196E000E1A201A6E0401716F000E096EE3
|
||||
:1004580004017151000E040104012D6F000E040106
|
||||
:100468002E6F010E04010401476F000E0401486F4E
|
||||
:10047800000E0401496F000E04014A6F0F50030A71
|
||||
:10048800D8A401D001D04ED00350040AD8A401D07A
|
||||
:1004980001D048D013C061F414C062F415C063F4ED
|
||||
:1004A80016C064F4FFEC1AF051EC1DF0BB0E040109
|
||||
:1004B8000401806F790E0401816F7E0E040104012E
|
||||
:1004C8007E6F790E04017F6F22EC1DF0330E04015C
|
||||
:1004D8000401806F790E0401816FC70E04010401C5
|
||||
:1004E8007E6F790E04017F6F22EC1DF061C480F4E9
|
||||
:1004F80062C481F463C482F464C483F4DD0E04012D
|
||||
:1005080004017E6F790E04017F6F79EC13F004010A
|
||||
:10051800716F010E040104017E6F0401715143ECF7
|
||||
:100528001DF0A4D00F50070AD8A401D001D09DD047
|
||||
:100538000350050AD8A401D001D097D0095004016E
|
||||
:100548000401656F0401666B0401676B0401686B45
|
||||
:1005580017C069F418C06AF419C06BF41AC06CF4B7
|
||||
:1005680013C06DF414C06EF415C06FF416C070F4A7
|
||||
:10057800FFEC1AF004010401655104010401692526
|
||||
:100588000401716F040104016651040104016A2128
|
||||
:100598000401726F040104016751040104016B2115
|
||||
:1005A8000401736F040104016851040104016C2102
|
||||
:1005B8000401746FFF0E040171150401756F000EBC
|
||||
:1005C800040172150401766F000E0401731504010D
|
||||
:1005D800776F000E040174150401786F0401750526
|
||||
:1005E800761177117811D8B401D001D001D03ED05E
|
||||
:1005F80051EC1DF0BB0E04010401806F790E04015B
|
||||
:10060800816F7E0E040104017E6F790E04017F6FF5
|
||||
:1006180022EC1DF0240E04010401806F790E040100
|
||||
:10062800816FC70E040104017E6F790E04017F6F8C
|
||||
:1006380022EC1DF06DC480F46EC481F46FC482F4A2
|
||||
:1006480070C483F4DD0E040104017E6F790E040189
|
||||
:100658007F6F79EC13F00401716F010E040104013E
|
||||
:100668007E6F0401715143EC1DF000D012000401AB
|
||||
:100678008D0E04010401946F0401040E0401956FAA
|
||||
:10068800DFD1040104019351250AD8B401D001D067
|
||||
:1006980005D093C49CF4AEEC1CF0D2D104019A6F3F
|
||||
:1006A800000E04010401926F04019A5161D0DBD15C
|
||||
:1006B8007ED004010401928F7AD0040194C4E9FF2A
|
||||
:1006C800040195C4EAFF0401020E04019427000EF8
|
||||
:1006D800040195230401EECF96F40401EDCF97F4BD
|
||||
:1006E8000401040197519611D8A401D001D007D074
|
||||
:1006F8009F0E04010401966F790E0401976F1BD0B9
|
||||
:10070800040104019651F66EE96E050EEA6E0401C5
|
||||
:1007180004019751EA6403D0EA6EEF5003D0F76EF4
|
||||
:100728000800F550040104019C6FAEEC1CF00401B4
|
||||
:100738000401964B972B040104019651F66EE96E5D
|
||||
:10074800050EEA6E040104019751EA6403D0EA6ECB
|
||||
:10075800EF5003D0F76E0800F5500009D8A401D077
|
||||
:1007680001D0CED76DD1C00E0401040192131FD061
|
||||
:1007780004018BC4F6FF04018CC4F7FF04010401D3
|
||||
:100788008B4B8C2B08000401F5CF93F40401935193
|
||||
:10079800000A8DE0580A8DE03C0A8AE00D0A88E0DC
|
||||
:1007A8001A0A8BE0060ADFE00D0A83E0DBD70401B2
|
||||
:1007B80004019251C00BD8A401D001D025D0040166
|
||||
:1007C80094C4E9FF040195C4EAFF0401020E040180
|
||||
:1007D8009427000E040195230401EECF96F404013A
|
||||
:1007E800EDCF97F40401040197AF01D001D00BD0ED
|
||||
:1007F800030E04010401921304010401966D04011F
|
||||
:10080800971FD8B0972B13D0040194C4E9FF0401B3
|
||||
:1008180095C4EAFF0401020E04019427000E0401A6
|
||||
:1008280095230401EECF96F40401EDCF97F478D028
|
||||
:1008380004019A6F010E04010401936F04019A5197
|
||||
:10084800040104019351050AD8A401D001D001D0B4
|
||||
:100858002AD0040104019351020DEA0EF324F66E26
|
||||
:10086800F76A780EF7220900F5CF9AF40900F5CF58
|
||||
:100878009BF404019A5104010401965D04019B5103
|
||||
:10088800040104019759D8B001D001D001D00BD090
|
||||
:1008980004010401932B040104019351050AD8A40F
|
||||
:1008A80001D001D0D6D748D004019A6F010E0401B7
|
||||
:1008B8000401936F04019A51040104019351040A3D
|
||||
:1008C800D8A401D001D001D0EED70401040193517E
|
||||
:1008D800020DF40EF324F66EF76A780EF72209007B
|
||||
:1008E800F5CF9AF40900F5CF9BF404019A5104015D
|
||||
:1008F8000401965D04019B51040104019759D8B085
|
||||
:1009080001D001D001D0CFD704010401932B0401F9
|
||||
:1009180004019351040AD8A401D001D0D6D70CD031
|
||||
:10092800040104019251C00B000A82E0800ABCE075
|
||||
:10093800400A01E17DD700D0040104019251030B64
|
||||
:10094800D8B401D001D00AD004019A6F2D0E040149
|
||||
:1009580004019C6F04019A51AEEC1CF093C491F40D
|
||||
:1009680066D056D0040104019151020DEA0EF32419
|
||||
:10097800F66EF76A780EF72209000401F5CF9EF4A7
|
||||
:100988000A000401F5CF9FF496C49CF497C49DF423
|
||||
:1009980026EC16F09CC49CF49DC49DF40A0E040138
|
||||
:1009A80004019E6F000E04019F6FDAEC18F0040139
|
||||
:1009B80004019C51300F04010401936F34D00401E9
|
||||
:1009C80004019151020DF40EF324F66EF76A780EC5
|
||||
:1009D800F72209000401F5CF9EF40A000401F5CFBF
|
||||
:1009E8009FF496C49CF497C49DF426EC16F00F0E61
|
||||
:1009F800040104019C17130E040104019C25F66EE2
|
||||
:100A0800F76A790EF72208000401F5CF93F40BD0AA
|
||||
:100A1800040104019251C00B000AA4E0800ACFE04F
|
||||
:100A2800400AA0E000D093C49CF4AEEC1CF0040192
|
||||
:100A38000401910704019129D8A401D001D091D7CC
|
||||
:100A480004018BC4F6FF04018CC4F7FF0401040100
|
||||
:100A58008B4B8C2B08000401F5CF93F404019367AA
|
||||
:100A680001D001D00ED600D01200000E04010401FE
|
||||
:100A7800666F000E0401676F000E0401686F000EB8
|
||||
:100A88000401696F0401610E04010401876F040108
|
||||
:100A9800040E0401886F04015F0E04010401856FD0
|
||||
:100AA8000401040E0401866FA5EC1BF00401610E1D
|
||||
:100AB80004010401806F0401040E0401816F040124
|
||||
:100AC8005F0E040104017E6F0401040E04017F6FB0
|
||||
:100AD800C4EC15F0010E04010401626F000E04015C
|
||||
:100AE800636F000E0401646F000E0401656F000E51
|
||||
:100AF800040104016A6F000E04016B6F0401040114
|
||||
:100B08006B51800A800F200ED8B46A5DD8A001D03E
|
||||
:100B180001D001D070D00401610E04010401806F7E
|
||||
:100B28000401040E0401816F04015F0E0401040135
|
||||
:100B38007E6F0401040E04017F6FC4EC15F00401FC
|
||||
:100B480004016C6F0401610E04010401806F04014B
|
||||
:100B5800040E0401816F04015F0E040104017E6F1D
|
||||
:100B68000401040E04017F6FC4EC15F004010401B4
|
||||
:100B78006D6F1CD026D004010401625104010401E8
|
||||
:100B8800661304010401635104010401671304019D
|
||||
:100B9800040164510401040168130401040165514E
|
||||
:100BA8000401040169130DD0000E2CD16DC47FF42B
|
||||
:100BB8006CC47EF429EC1CF0000ADCE0010ADBE0DE
|
||||
:100BC800F3D70401D89004016237040163370401A4
|
||||
:100BD800643704016537040104016A4B6B2B040177
|
||||
:100BE80004016B51800A800F200ED8B46A5DD8A02A
|
||||
:100BF80001D001D090D7040166C46EF4040167C423
|
||||
:100C08006FF4040168C470F4040169C471F4040148
|
||||
:100C18006E1F6F1F701F711F110E06D0D890040130
|
||||
:100C2800713370336F336E33E82EF8D7FF0E04013B
|
||||
:100C38006E150401726F000E04016F150401736FC5
|
||||
:100C4800000E040170150401746F000E0401711583
|
||||
:100C58000401756F040166C476F4040167C477F46F
|
||||
:100C6800040168C478F4040169C479F4190E06D043
|
||||
:100C7800D89004017933783377337633E82EF8D770
|
||||
:100C8800FF0E0401761504017A6F000E0401771532
|
||||
:100C980004017B6F000E0401781504017C6F000EBF
|
||||
:100CA8000401791504017D6F0401755104017D1952
|
||||
:100CB8000EE10401745104017C1909E10401735126
|
||||
:100CC80004017B1904E10401725104017A19D8B4B2
|
||||
:100CD80001D001D002D0000E95D0FF0E040166C4E9
|
||||
:100CE8006EF4040167C46FF4040168C470F404016D
|
||||
:100CF80069C471F404016E1F6F1F701F711F040116
|
||||
:100D08006E150401726F000E04016F150401736FF4
|
||||
:100D1800000E040170150401746F000E04017115B2
|
||||
:100D28000401756FFF0E040166C476F4040167C4FC
|
||||
:100D380077F4040168C478F4040169C479F477C4C9
|
||||
:100D480076F478C477F479C478F40401796B0401F3
|
||||
:100D5800761504017A6F000E0401771504017B6F84
|
||||
:100D6800000E0401781504017C6F000E040179154A
|
||||
:100D780004017D6F0401755104017D190EE1040120
|
||||
:100D8800745104017C1909E10401735104017B19B0
|
||||
:100D980004E10401725104017A19D8B401D001D0D8
|
||||
:100DA80002D0000E2FD051EC1DF0F00E040104010A
|
||||
:100DB800806F790E0401816F7E0E040104017E6F3D
|
||||
:100DC800790E04017F6F22EC1DF066C480F467C4BD
|
||||
:100DD80081F468C482F469C483F4DD0E040104015B
|
||||
:100DE8007E6F790E04017F6F79EC13F004016E6F4A
|
||||
:100DF800020E040104017E6F04016E5143EC1DF0E4
|
||||
:100E0800010E00D01200000E040104016A6F000EEA
|
||||
:100E180004016B6F000E04016C6F000E04016D6F0E
|
||||
:100E2800010E04010401666F000E0401676F000ED5
|
||||
:100E38000401686F000E0401696F000E04010401CB
|
||||
:100E4800626F000E0401636F000E04010401646FF9
|
||||
:100E5800000E0401656F0401610E04010401876F2F
|
||||
:100E68000401040E0401886F04015F0E04010401EB
|
||||
:100E7800856F0401040E0401866FA5EC1BF00401C4
|
||||
:100E8800610E04010401806F0401040E0401816FE6
|
||||
:100E980004015F0E040104017E6F0401040E0401C5
|
||||
:100EA8007F6FC4EC15F0040104016551800A800FBE
|
||||
:100EB800240ED8B4645DD8A001D001D001D018D1D7
|
||||
:100EC8000401610E04010401806F0401040E040191
|
||||
:100ED800816F04015F0E040104017E6F0401040E9A
|
||||
:100EE80004017F6FC4EC15F0040104016E6F040166
|
||||
:100EF800610E04010401806F0401040E0401816F76
|
||||
:100F080004015F0E040104017E6F0401040E040154
|
||||
:100F18007F6FC4EC15F0040104016F6F0401610ECA
|
||||
:100F280004010401806F0401040E0401816F0401AF
|
||||
:100F38005F0E040104017E6F0401040E04017F6F3B
|
||||
:100F4800C4EC15F004010401706F0401610E040182
|
||||
:100F58000401806F0401040E0401816F04015F0E17
|
||||
:100F6800040104017E6F0401040E04017F6FC4ECC8
|
||||
:100F780015F004010401716F7CD00401040165516E
|
||||
:100F8800800A800F200ED8B4645DD8A001D001D0AB
|
||||
:100F98001AD004016AC472F404016BC473F4040126
|
||||
:100FA8006CC474F404016DC475F4D89004017533ED
|
||||
:100FB80074337333723372C46AF473C46BF474C4D5
|
||||
:100FC8006CF475C46DF465D0040104016551800AA0
|
||||
:100FD800800F200ED8B4645DD8A001D001D01AD0FB
|
||||
:100FE80004016AC472F404016BC473F404016CC490
|
||||
:100FF80074F404016DC475F4D89004017533743326
|
||||
:101008007333723372C46AF473C46BF474C46CF4CB
|
||||
:1010180075C46DF4040104016651040104016A13E6
|
||||
:10102800040104016751040104016B130401040164
|
||||
:101038006851040104016C1304010401695104019D
|
||||
:1010480004016D1326D0040104016551800A800F44
|
||||
:101058001F0ED8B4645DD8A001D001D008D0010E0D
|
||||
:1010680004010401626F000E0401636F12D0000EC8
|
||||
:101078007ED071C479F470C478F46FC477F46EC408
|
||||
:1010880076F405EC1AF0000A01E177D7010A9CE032
|
||||
:10109800DAD70401040163516211D8B401D001D038
|
||||
:1010A80001D026D0040104016551800A800F1F0E6B
|
||||
:1010B800D8B4645DD8B001D001D00AD00401D8906A
|
||||
:1010C800040166370401673704016837040169378A
|
||||
:1010D80004010401644B652B040104016551800A75
|
||||
:1010E800800F240ED8B4645DD8A001D001D0E8D612
|
||||
:1010F80051EC1DF0970E04010401806F790E040174
|
||||
:10110800816F7E0E040104017E6F790E04017F6FEA
|
||||
:1011180022EC1DF0330E04010401806F790E0401E6
|
||||
:10112800816FC70E040104017E6F790E04017F6F81
|
||||
:1011380022EC1DF06AC480F46BC481F46CC482F4A0
|
||||
:101148006DC483F4DD0E040104017E6F790E040181
|
||||
:101158007F6F79EC13F00401726F020E0401040131
|
||||
:101168007E6F0401725143EC1DF0010E00D0120095
|
||||
:1011780004015E6F000E040104015A6F04015E5100
|
||||
:10118800C4D057C487F41DC085F41EC086F401EC92
|
||||
:101198001CF0D8A001D001D03CD0960E0401040167
|
||||
:1011A8002B6501D001D006D01DC053F41EC054F4E5
|
||||
:1011B80057C458F4040104012B51D8B401D001D00C
|
||||
:1011C80018D02BC460F404015E6F000E0401040102
|
||||
:1011D8005F6F04015E511FEC0DF02BC460F4040135
|
||||
:1011E8005E6F000E040104015F6F04015E5152EC52
|
||||
:1011F80000F0122A04015E6F000E040104012B6F37
|
||||
:1012080004015E5104015E6F000E066E04015E511A
|
||||
:1012180032D0040104012B6701D001D006D01DC0D3
|
||||
:1012280051F41EC052F457C42CF41250D8B401D053
|
||||
:1012380001D018D012C060F404015E6F010E0401E1
|
||||
:1012480004015F6F04015E511FEC0DF012C060F4E1
|
||||
:1012580004015E6F010E040104015F6F04015E5119
|
||||
:1012680052EC00F0040104012B2B04015E6F000E08
|
||||
:10127800126E04015E510401D89057330401040131
|
||||
:10128800576701D001D015D004015E6F800E0401AC
|
||||
:101298000401576F04015E511D4A1E2A1E50020A9E
|
||||
:1012A8001D10D8A401D001D004D0000E1D6E000E70
|
||||
:1012B8001E6E1E5004010401541904E11D5004015E
|
||||
:1012C80004015319D8A401D001D00ED0040104019F
|
||||
:1012D800575104010401586301D001D005D004011D
|
||||
:1012E8000401536904015469040104012B51960A4D
|
||||
:1012F800D8A401D001D009D004015E6F010E040109
|
||||
:1013080004015A6F04015E510DD0040104013051EB
|
||||
:101318001E1804E1040104012F511D18D8A401D09E
|
||||
:1013280001D02FD7040104015A6701D001D001D0A0
|
||||
:10133800A2D00650D8B401D001D001D09CD051C45D
|
||||
:1013480061F452C462F453C45FF454C460F48CEC86
|
||||
:1013580017F05FC45CF460C45DF4040104015DBF70
|
||||
:1013680001D001D00DD0040104015D51800A800F25
|
||||
:10137800320ED8B45C5DD8B001D001D001D07BD09A
|
||||
:10138800040104015D51800A800F9E0ED8B45C5D93
|
||||
:10139800D8A001D001D00CD0040104015D51800A0D
|
||||
:1013A800800FA30ED8B45C5DD8A001D001D000D0C6
|
||||
:1013B80004015E6F000E040104015B6F04015E51BD
|
||||
:1013C8002CC461F451C45FF452C460F407EC07F014
|
||||
:1013D800040104015B272CC461F451C45FF452C4B6
|
||||
:1013E80060F4A8EC0FF0040104015B272CC461F43D
|
||||
:1013F80051C45FF452C460F4BEEC0BF00401040164
|
||||
:101408005B272CC461F451C45FF452C460F4CDEC82
|
||||
:1014180010F0040104015B272CC461F451C45FF48B
|
||||
:1014280052C460F440EC0AF0040104015B272CC4A8
|
||||
:1014380061F451C45FF452C460F439EC05F004015E
|
||||
:1014480004015B2704015E6F010E066E04015E5104
|
||||
:10145800040104015B51D8B401D001D00BD0000EB7
|
||||
:101468001D6E000E1E6E000E040104012F6F000E8B
|
||||
:101478000401306F00D012000401756F000E0401E2
|
||||
:101488000401626F04017551000E04010401676FC5
|
||||
:10149800000E0401686F000E0401696F000E04015C
|
||||
:1014A8006A6F010E040104016B6F000E04016C6F7A
|
||||
:1014B800000E04016D6F000E04016E6F0401610ED1
|
||||
:1014C80004010401876F0401040E0401886F0401FC
|
||||
:1014D8005F0E04010401856F0401040E0401866F88
|
||||
:1014E800A5EC1BF00401610E04010401806F0401E6
|
||||
:1014F800040E0401816F04015F0E040104017E6F74
|
||||
:101508000401040E04017F6FC4EC15F05FC465F498
|
||||
:1015180060C466F40401040161C463F404010401B5
|
||||
:10152800646B000E040104016F6F000E0401706FFC
|
||||
:10153800040104017051800A800F200ED8B46F5D39
|
||||
:10154800D8A001D001D001D05AD00401610E040105
|
||||
:101558000401796F0401040E04017A6F04015F0E1F
|
||||
:1015680004010401776F0401040E0401786F71EC23
|
||||
:1015780019F004010401736F040104017351020A94
|
||||
:10158800D8A401D001D002D0000EF3D00401040188
|
||||
:101598007351D8B401D001D018D0040104016B51A3
|
||||
:1015A800040104016713040104016C5104010401DE
|
||||
:1015B8006813040104016D51040104016913040155
|
||||
:1015C80004016E51040104016A130401D890040156
|
||||
:1015D8006B3704016C3704016D3704016E37040161
|
||||
:1015E80004016F4B702B040104017051800A800FB5
|
||||
:1015F800200ED8B46F5DD8A001D001D0A6D7000EB8
|
||||
:1016080004010401716F000E0401726F04010401EA
|
||||
:101618007251800A800F040ED8B4715DD8A001D031
|
||||
:1016280001D001D04BD00401610E04010401796F8F
|
||||
:101638000401040E04017A6F04015F0E0401040121
|
||||
:10164800776F0401040E0401786F71EC19F004013E
|
||||
:101658000401746F040104017451020AD8A401D072
|
||||
:1016680001D002D0000E85D0040104017451D8B411
|
||||
:1016780001D001D013D071C475F4010E0401766F46
|
||||
:101688000401752B03D0D890040176370401752F17
|
||||
:10169800FAD704017651040104016213040104011C
|
||||
:1016A800714B722B040104017251800A800F040EE1
|
||||
:1016B800D8B4715DD8A001D001D0B5D70401040118
|
||||
:1016C80062510C0AD8B401D001D002D0000E51D01A
|
||||
:1016D80051EC1DF0A60E04010401806F790E04017F
|
||||
:1016E800816FCD0E040104017E6F790E04017F6FB6
|
||||
:1016F80022EC1DF0750E04010401806F790E0401BF
|
||||
:10170800816F7E0E040104017E6F790E04017F6FE4
|
||||
:1017180022EC1DF00401330E04010401806F040162
|
||||
:10172800040E0401816FC70E040104017E6F790E57
|
||||
:1017380004017F6F22EC1DF067C480F468C481F453
|
||||
:1017480069C482F46AC483F4DD0E040104017E6F67
|
||||
:10175800790E04017F6F79EC13F00401756F010EA7
|
||||
:10176800040104017E6F0401755143EC1DF0010E64
|
||||
:1017780000D012000401610E04010401876F040106
|
||||
:10178800040E0401886F04015F0E04010401856FD3
|
||||
:101798000401040E0401866FA5EC1BF00401726FAE
|
||||
:1017A800000E04010401626F04017251040E040169
|
||||
:1017B80004016A6F000E04016B6F040104016BAF32
|
||||
:1017C80001D001D001D08AD00401726F000E04014B
|
||||
:1017D80004016E6F04017251000E040104016F6F61
|
||||
:1017E800000E0401706F040104017051800A800F1B
|
||||
:1017F800080ED8B46F5DD8A001D001D001D04BD06D
|
||||
:101808000401610E04010401766F0401040E040151
|
||||
:10181800776F04015F0E04010401746F0401040E64
|
||||
:101828000401756FC2EC1AF004010401716F040120
|
||||
:1018380004017151020AD8A401D001D002D0000ECF
|
||||
:10184800F9D0040104017151D8B401D001D013D0EA
|
||||
:101858006FC472F4010E0401736F0401722B03D07C
|
||||
:10186800D890040173370401722FFAD70401735119
|
||||
:10187800040104016E13040104016F4B702B040171
|
||||
:1018880004017051800A800F080ED8B46F5DD8A08B
|
||||
:1018980001D001D0B5D7040104016A51040A6B11C3
|
||||
:1018A800D8A401D001D002D06EC462F40401650E40
|
||||
:1018B800040104016A25E96EEA6A0401040EEA22B9
|
||||
:1018C80004016EC4EFFF040104016A07D8A06B0786
|
||||
:1018D800040104016BAF01D001D076D7000E0401DA
|
||||
:1018E8000401636F000E0401646F000E040104011B
|
||||
:1018F8006C6F000E04016D6F040104016D51800AC4
|
||||
:10190800800F040ED8B46C5DD8A001D001D001D0EE
|
||||
:1019180033D00401726F310E04010401766F0401A3
|
||||
:1019280072510401650E040104016C25E96EEA6A2E
|
||||
:101938000401040EEA22EF5004010401756F63C428
|
||||
:1019480074F437EC18F00401736F04017351040147
|
||||
:101958000401636F0401646B040104016C4B6D2B7B
|
||||
:10196800040104016D51800A800F040ED8B46C5D27
|
||||
:10197800D8A001D001D0CDD7040162C472F404010B
|
||||
:10198800736B0401040164510401731905E1040136
|
||||
:101998000401635104017219D8B401D001D002D0F6
|
||||
:1019A800000E48D051EC1DF0A60E04010401806F12
|
||||
:1019B800790E0401816FCD0E040104017E6F790E4A
|
||||
:1019C80004017F6F22EC1DF04D0E04010401806FAD
|
||||
:1019D800790E0401816F7E0E040104017E6F790E79
|
||||
:1019E80004017F6F22EC1DF00401726F050E0401E3
|
||||
:1019F8000401786F040172510401650E04010401A9
|
||||
:101A0800766F0401040E0401776FDD0E04010401F2
|
||||
:101A1800746F790E0401756F14EC14F00401726F81
|
||||
:101A2800010E040104017E6F0401725143EC1DF0A4
|
||||
:101A3800010E00D01200040104015F51D8B401D096
|
||||
:101A480001D005D0030E04010401602704D0030E61
|
||||
:101A580004010401605F3CD10C0E040104016065BF
|
||||
:101A680001D001D009D0170E04010401606101D032
|
||||
:101A780001D002D0082A37D1030E040104016065A1
|
||||
:101A880001D001D01CD00E0E04010401606101D008
|
||||
:101A980001D015D0190E086401D001D00AD0040174
|
||||
:101AA800616F010E0B6E04016151000E1B6E000E7A
|
||||
:101AB8001C6E0401616F000E086E0401615113D1A0
|
||||
:101AC80060C464F45FC463F426EC19F063C427F4BB
|
||||
:101AD80064C428F4040104012829FE0ED8B4271987
|
||||
:101AE800D8A401D001D003D0CDEC1CF0FCD0040167
|
||||
:101AF80004012729D8B42829D8A401D001D001D0BD
|
||||
:101B0800F2D01C501B10D8A401D001D006D004017B
|
||||
:101B1800040127511C6E1B6A51D00401040127518E
|
||||
:101B28001B120401040128511C121FD00401616F0B
|
||||
:101B3800060E076E040161513F0E04010401556F42
|
||||
:101B4800000E0401566F2ED00401616F080E076E57
|
||||
:101B5800040161514F0E04010401556F000E040188
|
||||
:101B6800566F20D0CDEC1CF0BED01BC061F41CC059
|
||||
:101B780062F40FD0040161514D0AE6E0F3D7040185
|
||||
:101B880061512D0AE1E0EED7040161514C0ACEE023
|
||||
:101B9800E9D7040162510A0AEDE0100AF0E0F00A00
|
||||
:101BA800F3E0E0D70401616F020E0B6E040161518E
|
||||
:101BB8000401616F000E086E0401615194D060C485
|
||||
:101BC80064F45FC463F426EC19F063C427F464C4B6
|
||||
:101BD80028F4040104012829FE0ED8B42719D8A432
|
||||
:101BE80001D001D003D0CDEC1CF07DD0040104015C
|
||||
:101BF8002729D8B42829D8A401D001D001D073D07E
|
||||
:101C080004011F0E0824E96EEA6A0401040EEA22A0
|
||||
:101C1800040127C4EFFF082A0706076601D001D090
|
||||
:101C28004ED7CDEC1CF051EC1DF0A60E04010401BA
|
||||
:101C3800806F790E0401816FCD0E040104017E6F5F
|
||||
:101C4800790E04017F6F22EC1DF0B40E040104012B
|
||||
:101C5800806F790E0401816F7E0E040104017E6F8E
|
||||
:101C6800790E04017F6F22EC1DF004011BC080F483
|
||||
:101C780004011CC081F404010401826B0401836B1C
|
||||
:101C8800C70E040104017E6F790E04017F6F79ECA1
|
||||
:101C980013F008C078F404011F0E04010401766FE4
|
||||
:101CA8000401040E0401776FDD0E04010401746F52
|
||||
:101CB800790E0401756F14EC14F00401616F010EC4
|
||||
:101CC800040104017E6F0401615143EC1DF00BD047
|
||||
:101CD8000B50000A01E1C0D6010A01E1F1D6030A5E
|
||||
:101CE80001E16DD700D0120004015E6F0B0E0401F4
|
||||
:101CF80004015B6F04015E5104015E6F0A0E04016A
|
||||
:101D080004015C6F04015E51010E04010401646F5B
|
||||
:101D1800000E0401656FFA0E04010401626F790E6A
|
||||
:101D28000401636F1F0E04010401606F020E0401B9
|
||||
:101D3800616FE2EC17F0040161516011D8A401D081
|
||||
:101D480001D011D00A0E040104018D6F000E0401A8
|
||||
:101D58008E6F650E040104018B6F790E04018C6F80
|
||||
:101D68003BEC03F0F0D0010E04010401646F000E97
|
||||
:101D78000401656FFC0E04010401626F790E040111
|
||||
:101D8800636F1F0E04010401606F020E0401616F8E
|
||||
:101D9800E2EC17F0040161516011D8A401D001D020
|
||||
:101DA8000AD0E70E040104018B6F790E04018C6FD1
|
||||
:101DB8003BEC03F0C8D004015E6F000E040104017F
|
||||
:101DC8005D6F04015E5104015E6F000E04010401A1
|
||||
:101DD8005A6F04015E51B0D098D004015DC45EF41E
|
||||
:101DE80004015F6B010E04015E27000E5F231F0EC6
|
||||
:101DF80004015E25E96E020E04015F21EA6EEF50D0
|
||||
:101E0800040104015B6F040104015D2B92D00401FD
|
||||
:101E18005DC45EF404015F6B010E04015E27000ED1
|
||||
:101E28005F231F0E04015E25E96E020E04015F2187
|
||||
:101E3800EA6EEF50040104015C6F040104015D2B9C
|
||||
:101E480078D05CC463F45BC462F4010E040104013D
|
||||
:101E58005D2504010401606F0401616B000E04013B
|
||||
:101E6800612334EC17F004015E6F010E04010401D4
|
||||
:101E78005A6F04015E51D30E040104018B6F790E71
|
||||
:101E880004018C6F3BEC03F054D05CC463F45BC476
|
||||
:101E980062F4010E040104015D2504010401606F70
|
||||
:101EA8000401616B000E04016123DCEC16F00401EF
|
||||
:101EB8005E6F010E040104015A6F04015E51E20EC7
|
||||
:101EC800040104018B6F790E04018C6F3BEC03F065
|
||||
:101ED80030D01F0E040104015D25E96EEA6A020E86
|
||||
:101EE800EA22EF5004015E6F04015E51040104010F
|
||||
:101EF8008D6F04018E6BFC0E040104018B6F780E4C
|
||||
:101F080004018C6F3BEC03F01ED01F0E040104018A
|
||||
:101F18005D25E96EEA6A020EEA22EF50500A01E1F5
|
||||
:101F28005CD7020A01E173D7010A8BE0070AADE02A
|
||||
:101F3800D0D7040104015D2B040104015A51D8B41F
|
||||
:101F480001D001D049D71200000E04010401666FC8
|
||||
:101F5800000E0401676F000E0401686F000E040193
|
||||
:101F6800696F010E04010401626F000E0401636FC2
|
||||
:101F7800000E0401646F000E0401656F0401610E18
|
||||
:101F880004010401876F0401040E0401886F040131
|
||||
:101F98005F0E04010401856F0401040E0401866FBD
|
||||
:101FA800A5EC1BF00401610E04010401806F04011B
|
||||
:101FB800040E0401816F04015F0E040104017E6FA9
|
||||
:101FC8000401040E04017F6FC4EC15F0000E040137
|
||||
:101FD80004016A6F000E04016B6F040104016B5168
|
||||
:101FE800800A800F0C0ED8B46A5DD8A001D001D049
|
||||
:101FF80001D08FD00401610E04010401806F040137
|
||||
:10200800040E0401816F04015F0E040104017E6F58
|
||||
:102018000401040E04017F6FC4EC15F004010401EF
|
||||
:102028006C6F0401610E04010401806F0401040E49
|
||||
:102038000401816F04015F0E040104017E6F040135
|
||||
:10204800040E04017F6FC4EC15F0040104016D6FE8
|
||||
:102058000401610E04010401806F0401040E0401EF
|
||||
:10206800816F04015F0E040104017E6F0401040EF8
|
||||
:1020780004017F6FC4EC15F0040104016E6F0401C4
|
||||
:10208800610E04010401806F0401040E0401816FD4
|
||||
:1020980004015F0E040104017E6F0401040E0401B3
|
||||
:1020A8007F6FC4EC15F0040104016F6F0401D89030
|
||||
:1020B800040166370401673704016837040169378A
|
||||
:1020C80007D017D004010401668113D0000E60D038
|
||||
:1020D8006FC474F46EC473F46DC472F46CC471F498
|
||||
:1020E80083EC1AF0000AEDE0010AECE0030AEEE0E6
|
||||
:1020F80000D0040104016A4B6B2B040104016B51ED
|
||||
:10210800800A800F0C0ED8B46A5DD8A001D001D027
|
||||
:1021180071D751EC1DF0970E04010401806F790E00
|
||||
:102128000401816F7E0E040104017E6F790E0401A3
|
||||
:102138007F6F22EC1DF0580E04010401806F790EA8
|
||||
:102148000401816FC70E040104017E6F790E04013A
|
||||
:102158007F6F22EC1DF066C480F467C481F468C404
|
||||
:1021680082F469C483F4DD0E040104017E6F790EE4
|
||||
:1021780004017F6F79EC13F00401706F020E040103
|
||||
:1021880004017E6F0401705143EC1DF0010E00D074
|
||||
:102198001200000E04010401626F000E0401636F57
|
||||
:1021A800000E0401646F000E0401656F010E040146
|
||||
:1021B8000401666F000E0401676F000E0401686F6A
|
||||
:1021C800000E0401696F0401610E04010401876FA8
|
||||
:1021D8000401040E0401886F04015F0E0401040168
|
||||
:1021E800856F0401040E0401866FA5EC1BF0000E38
|
||||
:1021F800040104016A6F000E04016B6F04010401FD
|
||||
:102208006B51800A800F180ED8B46A5DD8A001D02F
|
||||
:1022180001D001D0A2D00401610E04010401806F35
|
||||
:102228000401040E0401816F04015F0E040104011E
|
||||
:102238007E6F0401040E04017F6FC4EC15F00401E5
|
||||
:1022480004016C6F0401610E04010401806F040134
|
||||
:10225800040E0401816F04015F0E040104017E6F06
|
||||
:102268000401040E04017F6FC4EC15F0040104019D
|
||||
:102278006D6F0401610E04010401806F0401040EF6
|
||||
:102288000401816F04015F0E040104017E6F0401E3
|
||||
:10229800040E04017F6FC4EC15F0040104016E6F95
|
||||
:1022A8000401610E04010401806F0401040E04019D
|
||||
:1022B800816F04015F0E040104017E6F0401040EA6
|
||||
:1022C80004017F6FC4EC15F0040104016F6F1CD08A
|
||||
:1022D8002AD00401040166510401040162130401B7
|
||||
:1022E80004016751040104016313040104016851E6
|
||||
:1022F8000401040164130401040169510401040187
|
||||
:10230800651311D0000E58D06FC474F46EC473F402
|
||||
:102318006DC472F46CC471F444EC1AF0000AD8E08D
|
||||
:10232800010AD7E0EFD70401D89004016637040109
|
||||
:1023380067370401683704016937040104016A4BEF
|
||||
:102348006B2B040104016B51800A800F180ED8B45E
|
||||
:102358006A5DD8A001D001D05ED751EC1DF0400EC7
|
||||
:1023680004010401806F790E0401816F7E0E04015F
|
||||
:1023780004017E6F790E04017F6F22EC1DF062C4A8
|
||||
:1023880080F463C481F464C482F465C483F4DD0E0C
|
||||
:10239800040104017E6F790E04017F6F79EC13F05C
|
||||
:1023A8000401706F020E040104017E6F0401705174
|
||||
:1023B80043EC1DF0010E00D012000401756F000EF1
|
||||
:1023C80004010401726F04017551030E0401040134
|
||||
:1023D800726501D001D001D023D0040104017251EB
|
||||
:1023E800040104016825E96E0401000E04010401DA
|
||||
:1023F8006921EA6E04016E0E040104017225E16E82
|
||||
:10240800E26A0401040EE222EFCFE7FF04010401AF
|
||||
:10241800722B030E04010401726501D001D0DDD7CF
|
||||
:10242800050E0401040168250401756F000E0401FE
|
||||
:10243800040169210401766F75C46CF476C46DF4E7
|
||||
:102448000096000E116E0094040100EE04F00401E1
|
||||
:102458006851E92604016951EA22EF500401040198
|
||||
:102468006B6F040104016B6701D001D001D081D0EA
|
||||
:10247800040104016B6701D001D001D072D06CC493
|
||||
:10248800E9FF6DC4EAFFEF50040104016A6F04011B
|
||||
:10249800756F000E04010401736F04017551030E7A
|
||||
:1024A80004010401736501D001D001D050D06AC481
|
||||
:1024B80075F4C00E04017517060E0401766FD890E6
|
||||
:1024C800040175330401762FFAD70401755104010C
|
||||
:1024D8000401746F04016E0E040104017425E96E91
|
||||
:1024E800EA6A0401040EEA22010EEF6201D001D06B
|
||||
:1024F80002D0008613D004016E0E04010401742575
|
||||
:10250800E96EEA6A0401040EEA22EF50106EB18007
|
||||
:1025180000D000A401D001D0FCD700940401D890C9
|
||||
:102528006A37D8906A37040104016B070401040173
|
||||
:102538006B6701D001D001D00AD004010401732BCC
|
||||
:10254800030E04010401736501D001D0B0D7040162
|
||||
:1025580004016C4B6D2B040104016B6701D001D0A1
|
||||
:102568008ED7009400D000A401D001D0FCD7B19040
|
||||
:1025780089981200026601D001D020D0030E040110
|
||||
:102588000401686501D001D007D00D0E04010401D3
|
||||
:10259800686501D001D00BD0870E040104018B6F50
|
||||
:1025A800790E04018C6F3BEC03F0FE0E9DD0040104
|
||||
:1025B800696F010E026E0401695194D00204D8A417
|
||||
:1025C80001D001D042D00C0E04010401686501D08D
|
||||
:1025D80001D007D0160E04010401686501D001D0AE
|
||||
:1025E80024D00CC069F404016A6B0401040156513B
|
||||
:1025F80004016A1905E1040104015551040169192E
|
||||
:10260800D8B401D001D011D08F0E040104018B6F12
|
||||
:10261800790E04018C6F3BEC03F00401696F000E26
|
||||
:10262800026E04016951FE0E5FD00090040104019E
|
||||
:1026380067A101D000800401696F020E026E0401D7
|
||||
:102648006951000E00B0010E4FD00250020AD8A402
|
||||
:1026580001D001D047D0040104016751D8B401D09A
|
||||
:1026680001D015D0030E04010401686501D001D022
|
||||
:102678000ED00E0E04010401686101D001D007D00C
|
||||
:102688000401696F000E026E0401695129D00C0E15
|
||||
:1026980004010401686501D001D00ED0170E0401B1
|
||||
:1026A8000401686101D001D007D00401696F010EEF
|
||||
:1026B800026E0401695114D0030E04010401686517
|
||||
:1026C80001D001D00DD00E0E04010401686101D0C3
|
||||
:1026D80001D006D00401696F000E026E0401695131
|
||||
:1026E800FF0E02D0FF0E00D012007EC48DF47FC40E
|
||||
:1026F8008EF4C10E040104018B6F790E04018C6FF6
|
||||
:102708003BEC03F004018351801181118211D8A49C
|
||||
:1027180001D001D00AD0F20E040104018B6F790EAA
|
||||
:1027280004018C6F3BEC03F071D00401876F010E3C
|
||||
:1027380004010401846F040187510401876F000EAE
|
||||
:1027480004010401856F04018751070E0401040187
|
||||
:10275800856501D001D001D059D0040180C487F427
|
||||
:10276800040181C488F4040182C489F4040183C487
|
||||
:102778008AF41D0E06D0D89004018A338933883331
|
||||
:102788008733E82EF8D7040187510F0B04010401A1
|
||||
:10279800866F04010401866701D001D008D00401C6
|
||||
:1027A80004018405D8A401D001D001D018D00401B7
|
||||
:1027B800040186C48DF4040104018E6BDA0E040151
|
||||
:1027C80004018B6F790E04018C6F3BEC03F004015C
|
||||
:1027D800876F000E04010401846F0401875104010E
|
||||
:1027E800040ED89004018037040181370401823730
|
||||
:1027F80004018337E82EF5D704010401852B070E61
|
||||
:1028080004010401856501D001D0A7D7730E040126
|
||||
:1028180004018B6F790E04018C6F3BEC03F01200FE
|
||||
:1028280074C48DF475C48EF4EC0E040104018B6F2E
|
||||
:10283800790E04018C6F3BEC03F004017A6F000EF3
|
||||
:1028480004010401796F04017A51040104017851EB
|
||||
:1028580004010401795DD8A001D001D001D04BD08A
|
||||
:10286800040104017951040104017625E96E04018B
|
||||
:10287800000E040104017721EA6EEF5004017A6F1B
|
||||
:102888000F0E04017A1704017A51040104018F6FB5
|
||||
:102898000401906B040104017951040104017625B7
|
||||
:1028A800E96E0401000E040104017721EA6EEF507D
|
||||
:1028B80004017B6F04017B3B0F0E7B1704017B51E6
|
||||
:1028C800040104018D6F04018E6BD80E040104010C
|
||||
:1028D8008B6F790E04018C6F3BEC03F0040104014B
|
||||
:1028E800792B04010401785104010401795DD8A011
|
||||
:1028F80001D001D0B5D7730E040104018B6F790E96
|
||||
:1029080004018C6F3BEC03F012000401D8902A37C5
|
||||
:1029180004010401C351D8B401D001D01BD0040173
|
||||
:102928000401292B040104012951030AD8A401D068
|
||||
:1029380001D005D0070E040104012A130AD0030EA2
|
||||
:1029480004010401296501D001D003D00401040168
|
||||
:102958002A8108D00401C46F000E04010401296F04
|
||||
:102968000401C4510401D890323704010401312B09
|
||||
:10297800040104012AAF01D001D004D004010401EC
|
||||
:10298800328100D0040104013151080AD8A401D0D1
|
||||
:1029980001D029D00401C46F000E04010401316F75
|
||||
:1029A8000401C4511F0E040104012F25E96E000E15
|
||||
:1029B800040104013021EA6E040132C4EFFF04016E
|
||||
:1029C80004012F4B302B040104013051020A2F114E
|
||||
:1029D800D8A401D001D007D0000E040104012F6F44
|
||||
:1029E800000E0401306F1200040104014D51D8B4E7
|
||||
:1029F80001D001D024D0040104014C510401040188
|
||||
:102A08004B277E0E040104014B6501D001D004D090
|
||||
:102A1800040104014C6911D0040104014B6701D081
|
||||
:102A280001D00BD00401B46F010E040104014C6FF6
|
||||
:102A38000401B451040104014D074BC4BEFF040155
|
||||
:102A480004015051D8B401D001D024D004010401AC
|
||||
:102A58004F51040104014E277E0E040104014E6506
|
||||
:102A680001D001D004D0040104014F6911D0040140
|
||||
:102A780004014E6701D001D00BD00401B46F010EE0
|
||||
:102A8800040104014F6F0401B4510401040150070B
|
||||
:102A98004EC4BBFF040104014D6701D001D002D030
|
||||
:102AA800000EBE6E04010401506701D001D002D0AF
|
||||
:102AB800000EBB6E12000096000E116E009468C4E2
|
||||
:102AC800E9FF69C4EAFFEF50106EB18000D000A49E
|
||||
:102AD80001D001D0FCD79D92010E040104016A6F58
|
||||
:102AE800000E04016B6F2FD0040104016A51040128
|
||||
:102AF80004016825E96E040104016B510401040115
|
||||
:102B08006921EA6E010EEF6201D001D002D0008681
|
||||
:102B180016D00094040104016A51040104016825D7
|
||||
:102B2800E96E040104016B51040104016921EA6E94
|
||||
:102B3800EF50106E00D000A401D001D0FCD70401E2
|
||||
:102B480004016A4B6B2B040104016A51040104015E
|
||||
:102B58006825E96E040104016B510401040169212F
|
||||
:102B6800EA6EEF50D8A401D001D0BED79D82009460
|
||||
:102B780000D000A401D001D0FCD7B19089981200F0
|
||||
:102B88000401846F000E04010401836F0401845161
|
||||
:102B980080C4E9FF81C4EAFFEF5004010401876F94
|
||||
:102BA8007EC4E9FF7FC4EAFF0401EECF85F4040187
|
||||
:102BB800EDCF86F401EC1CF0D8B001D002D0010EA4
|
||||
:102BC80001D0000E04010401826F04010401832B6B
|
||||
:102BD80080C487F481C488F47EC485F47FC486F4F5
|
||||
:102BE800A5EC1BF080C4E9FF81C4EAFFEF500401A3
|
||||
:102BF8000401876F7EC4E9FF7FC4EAFF0401EECFBA
|
||||
:102C080085F40401EDCF86F401EC1CF0D8B001D0B6
|
||||
:102C180002D0010E01D0000E040104018219D8B4BB
|
||||
:102C280001D001D004D00401040183510AD0040169
|
||||
:102C380004018329D8A401D001D002D0000E01D00C
|
||||
:102C4800C4D71200000E04010401A16F000E040194
|
||||
:102C5800A26F040104019F519E11D8B401D001D084
|
||||
:102C680047D00401A36F010E04010401A06F040101
|
||||
:102C7800A35109D00401D89004019E3704019F375D
|
||||
:102C880004010401A02B040104019FAF01D001D06D
|
||||
:102C9800F1D70401D8900401A1370401A237040137
|
||||
:102CA80004019E51040104019C5D040104019F512B
|
||||
:102CB800040104019D59D8A001D001D00FD004010E
|
||||
:102CC80004019E51040104019C5F040104019F5109
|
||||
:102CD800040104019D5B04010401A1810401D89051
|
||||
:102CE80004019F3304019E3304010401A02FD1D7AE
|
||||
:102CF800A1C49CF4A2C49DF400D01200000EAB6ED7
|
||||
:102D0800AB8EAB88AC90AC8AAC94B896948E949CFD
|
||||
:102D180006D00401AECF5AF4040104015B6B9EBADD
|
||||
:102D280001D001D0F6D704015C6F400EAF6E0401EC
|
||||
:102D38005C519F9A9F98F28C9D8A9D98CD909E9009
|
||||
:102D4800000ECF6E000ECE6ECD9ACD98CD92000EAD
|
||||
:102D580004010401616F020E0401626F000E040198
|
||||
:102D680004015F6F000E0401606F1F0E040104016F
|
||||
:102D78005D6F020E04015E6F8FEC1CF0000E040103
|
||||
:102D88000401616F010E0401626F2D0E040104013C
|
||||
:102D98005F6F000E0401606F0501000E040104015D
|
||||
:102DA8005D6F0501050E04015E6F8FEC1CF01200CB
|
||||
:102DB8006EEC1DF00401666F000E04010401646FDF
|
||||
:102DC8000401665140D00401666F020E040104013B
|
||||
:102DD800686F0401665175EC1DF01F0E0401666FE3
|
||||
:102DE800020E676F040104016051040166270401A3
|
||||
:102DF800040161510401672366C468F467C469F477
|
||||
:102E0800E1EC11F00401666F000E04010401656F26
|
||||
:102E1800040166510BD00D0E0401666FF90EE82E01
|
||||
:102E2800FED7662FFCD704010401652B04010401B9
|
||||
:102E3800625104010401655DD8A001D001D0EBD72F
|
||||
:102E480004010401642B0401040163510401040119
|
||||
:102E5800645DD8A001D001D0B6D769EC1DF012008E
|
||||
:102E68006EEC1DF00401666F000E04010401646F2E
|
||||
:102E78000401665140D00401666F020E040104018A
|
||||
:102E8800686F0401665175EC1DF01F0E0401666F32
|
||||
:102E9800020E676F040104016051040166270401F2
|
||||
:102EA800040161510401672366C468F467C469F4C6
|
||||
:102EB8005FEC15F00401666F000E04010401656FF4
|
||||
:102EC800040166510BD00D0E0401666FF90EE82E51
|
||||
:102ED800FED7662FFCD704010401652B0401040109
|
||||
:102EE800625104010401655DD8A001D001D0EBD77F
|
||||
:102EF80004010401642B0401040163510401040169
|
||||
:102F0800645DD8A001D001D0B6D769EC1DF01200DD
|
||||
:102F1800040104015F29D8B46029D8A401D001D0E4
|
||||
:102F280006D0040104015F690401606946D0040108
|
||||
:102F380004016251800A0401636F04015F510401B6
|
||||
:102F48000401615D040104016051800A04016359B0
|
||||
:102F5800D8A001D001D012D0040104015F510401AE
|
||||
:102F68000401615D040104015F6F04010401605103
|
||||
:102F78000401040162590401606F1FD0000E0401AE
|
||||
:102F8800636F020E646F040104015F510401635F03
|
||||
:102F98000401040160510401645B040104016151EE
|
||||
:102FA80004016325040104015F6F040104016251F7
|
||||
:102FB800040164210401606F00D012003ED060C497
|
||||
:102FC800E9FF61C4EAFFEF50D8B401D001D014D0B2
|
||||
:102FD800040162C4F6FF040163C4F7FF0800F5CFDB
|
||||
:102FE80066F460C4E9FF61C4EAFFEF5004016619A2
|
||||
:102FF800D8B401D001D019D060C4E9FF61C4EAFF98
|
||||
:10300800EF500401666F040162C4F6FF040163C453
|
||||
:10301800F7FF0800F5500401665D04010401606FC4
|
||||
:103028000401616BD8A061071DD004010401604B45
|
||||
:10303800612B04010401624B632B04010401640742
|
||||
:10304800D8A0650704016429D8B46529D8A401D09B
|
||||
:1030580001D0B5D7000E04010401606F000E040111
|
||||
:10306800616F00D01200800E04010401796F000E18
|
||||
:1030780004017A6F040104017A517911D8A401D0AE
|
||||
:1030880001D001D040D00401000E040174BF010E2C
|
||||
:1030980004010401776F0401786B04010401755180
|
||||
:1030A8000401040179150009D8B401D001D00CD06D
|
||||
:1030B8000401040178517711000ED8B4010E0401FF
|
||||
:1030C8000401776F0401786B0401D8907437040108
|
||||
:1030D800040178517711D8B401D001D006D0040189
|
||||
:1030E8000401765104010401741B0401D890040101
|
||||
:1030F8007A3304017933040104017A517911D8A48F
|
||||
:1031080001D001D0C0D704010401745100D01200CD
|
||||
:10311800FACFA7F4FBCFA8F4E9CFA9F4EACFAAF431
|
||||
:10312800E1CFABF4E2CFACF4D9CFADF4DACFAEF463
|
||||
:10313800F3CFAFF4F4CFB0F4F6CFB1F4F7CFB2F4E5
|
||||
:10314800F8CFB3F49EAA01D001D002D03CEC1BF01A
|
||||
:103158009EA801D001D002D0D4EC1BF09EA201D0D1
|
||||
:1031680001D003D0F8EC14F09E92B3C4F8FFB2C4B7
|
||||
:10317800F7FFB1C4F6FFB0C4F4FFAFC4F3FFAEC4A9
|
||||
:10318800DAFFADC4D9FFACC4E2FFABC4E1FFAAC407
|
||||
:10319800EAFFA9C4E9FFA8C4FBFFA7C4FAFFA6C4B5
|
||||
:1031A800E0FFA5C4E8FFA4C4D8FF1000040104018F
|
||||
:1031B8009F519E11D8B401D001D03ED00401A16F17
|
||||
:1031C800010E04010401A06F0401A15109D00401FA
|
||||
:1031D800D89004019E3704019F3704010401A02BF5
|
||||
:1031E800040104019FAF01D001D0F1D7040104010B
|
||||
:1031F8009E51040104019C5D040104019F510401D6
|
||||
:1032080004019D59D8A001D001D00CD004010401BB
|
||||
:103218009E51040104019C5F040104019F510401B3
|
||||
:1032280004019D5B0401D89004019F3304019E337F
|
||||
:1032380004010401A02FDAD79CC49CF49DC49DF41A
|
||||
:1032480000D0120064C468F463C467F4BEEC12F0E2
|
||||
:1032580004010401656F040104016551FE0AD8A444
|
||||
:1032680001D001D008D0FE0E04010401636FFF0EE7
|
||||
:103278000401646F31D0040104016529D8A401D088
|
||||
:1032880001D006D00401040163690401646924D0F3
|
||||
:10329800D8900532040104016551D8B401D001D099
|
||||
:1032A80001D0058E0C2A042A080E046001D001D032
|
||||
:1032B80006D0040104016369040164690DD00401A6
|
||||
:1032C800666F000E046E04016651040105C063F4C4
|
||||
:1032D80004010401646B00D0120079C480F47AC43C
|
||||
:1032E80081F477C47EF478C47FF4C4EC15F004014B
|
||||
:1032F80004017C6F1D0E040104017C6501D001D01E
|
||||
:1033080009D0290E040104017C6101D001D002D04A
|
||||
:10331800000E2DD079C480F47AC481F477C47EF489
|
||||
:1033280078C47FF4C4EC15F0040104017B6F090E26
|
||||
:10333800040104017C6501D001D017D0150E0401E9
|
||||
:1033480004017C6101D001D010D0090E04010401F0
|
||||
:103358007B6501D001D009D0150E040104017B6101
|
||||
:1033680001D001D002D0010E02D0020E00D012000E
|
||||
:103378000600EACFB9F4E1CFBAF4E2CFBBF4D9CF73
|
||||
:10338800BCF4DACFBDF4F3CFBEF4F4CFBFF4F6CF7C
|
||||
:10339800C0F4F7CFC1F4F8CFC2F4F2A401D001D041
|
||||
:1033A8000BD0000E81B8010E04010401C36F89EC33
|
||||
:1033B80014F0000ED66EF294A1A201D001D006D06E
|
||||
:1033C800B368C90EB26EEBEC1CF0A192C2C4F8FF50
|
||||
:1033D800C1C4F7FFC0C4F6FFBFC4F4FFBEC4F3FF07
|
||||
:1033E800BDC4DAFFBCC4D9FFBBC4E2FFBAC4E1FF65
|
||||
:1033F800B9C4EAFFB8C4E9FFB7C4FBFFB6C4FAFF13
|
||||
:1034080011000F0E04010401766501D001D017D018
|
||||
:103418000A0E04010401776101D001D010D00A0E10
|
||||
:1034280004010401786101D001D009D00A0E040119
|
||||
:103438000401796101D001D002D0000E20D00A0E1B
|
||||
:1034480004010401766101D001D017D00A0E0401ED
|
||||
:103458000401776101D001D010D00F0E04010401DE
|
||||
:10346800786501D001D009D00A0E04010401796100
|
||||
:1034780001D001D002D0010E02D0020E00D01200FD
|
||||
:103488000D0E04010401716101D001D017D00D0E99
|
||||
:1034980004010401726101D001D010D00D0E0401A5
|
||||
:1034A8000401736101D001D009D0100E0401040198
|
||||
:1034B800746501D001D002D0010E20D00D0E040198
|
||||
:1034C8000401716101D001D017D0100E040104016C
|
||||
:1034D800726501D001D010D00D0E04010401736192
|
||||
:1034E80001D001D009D00D0E04010401746101D08E
|
||||
:1034F80001D002D0000E02D0020E00D012000F0E32
|
||||
:1035080004010401716501D001D017D00A0E04012D
|
||||
:103518000401726101D001D010D00F0E0401040122
|
||||
:10352800736501D001D009D00A0E04010401746149
|
||||
:1035380001D001D002D0000E20D00A0E04010401EF
|
||||
:10354800716101D001D017D00F0E0401040172651A
|
||||
:1035580001D001D010D00F0E04010401736501D011
|
||||
:1035680001D009D00A0E04010401746101D001D010
|
||||
:1035780002D0010E02D0020E00D0120076C480F4F0
|
||||
:1035880077C481F474C47EF475C47FF4C4EC15F078
|
||||
:1035980004010401786F76C480F477C481F474C49C
|
||||
:1035A8007EF475C47FF4C4EC15F004010401796F4E
|
||||
:1035B8000D0E04010401786501D001D009D00D0E6B
|
||||
:1035C80004010401796501D001D002D0000E12D0A7
|
||||
:1035D8000B0E04010401786101D001D009D00D0E51
|
||||
:1035E80004010401796501D001D002D0010E02D096
|
||||
:1035F800020E00D012000401796F000E0E6E040155
|
||||
:103608007951000E176E000E186E000E196E000E1E
|
||||
:103618001A6E000E136E000E146E000E156E000E5C
|
||||
:10362800166E010E04010401476F000E0401486F75
|
||||
:10363800000E0401496F000E04014A6F0401796FFE
|
||||
:10364800000E0F6E04017951000E040104012D6F64
|
||||
:10365800000E04012E6F0401796F000E036E040141
|
||||
:1036680079510401796F000E096E04017951120035
|
||||
:10367800AECFB4F4ABA201D001D002D0AB98AB88E6
|
||||
:1036880000A201D001D001D029D004010401B45115
|
||||
:103698002B0AD8A401D001D00BD0CD9000821F0EE8
|
||||
:1036A8000124E96EEA6A020EEA22000EEF6E16D0D5
|
||||
:1036B8001F0E0124E96EEA6A020EEA220401B4C46C
|
||||
:1036C800EFFF012A000ECF6E000ECE6ECD809E90C9
|
||||
:1036D8000401B56F000E0D6E0401B55112009EA0D5
|
||||
:1036E80001D001D00CD01E0E0D6401D001D005D040
|
||||
:1036F800CD90000E016E009201D00D2A9E9000B26E
|
||||
:1037080001D001D001D01CD078EC0EF0000E0401DD
|
||||
:103718000401616F020E0401626F000E04010401CE
|
||||
:103728005F6F000E0401606F1F0E040104015D6FDE
|
||||
:10373800020E04015E6F8FEC1CF0000E016E009209
|
||||
:10374800120087C4E9FF88C4EAFFD890EF3687C41F
|
||||
:10375800E9FF88C4EAFFEF50D8A401D001D01FD0F8
|
||||
:1037680087C4E9FF88C4EAFF010EEF6E85C4E9FF4C
|
||||
:1037780086C4EAFFEE50ED10D8A401D001D008D0DD
|
||||
:1037880085C4E9FF86C4EAFF000EEE6E020EED6EF8
|
||||
:1037980085C4E9FF86C4EAFFEE06000EED5A120062
|
||||
:1037A80059C4B4F404010401B429D8A401D001D047
|
||||
:1037B80009D00401B56F000E04010401B46F0401BF
|
||||
:1037C800B55103D004010401B42B0A5004010401CB
|
||||
:1037D800B46301D001D002D09D980ED00501000E2F
|
||||
:1037E80004010401B425E96EEA6A0501050EEA221E
|
||||
:1037F800EF50AD6EB4C459F412001F0E0401040159
|
||||
:103808008525E96E000E040104018621EA6EEF5059
|
||||
:1038180004010401886F040104018851040187C46C
|
||||
:1038280089F404018A6B89BF8A0704018917000E8D
|
||||
:103838008A1704018A518911D8B401D001D002D065
|
||||
:10384800D88002D0D89000D012000D0E04010401D7
|
||||
:103858007E6101D001D009D00D0E040104017F6101
|
||||
:1038680001D001D002D0000E12D0180E04010401BC
|
||||
:103878007E6501D001D009D00D0E040104017F61DD
|
||||
:1038880001D001D002D0010E02D0020E00D01200E9
|
||||
:103898006FEC1CF064EC1DF082EC16F034EC1DF0BB
|
||||
:1038A8005BEC1DF007EC1DF00A0E040104018D6F9E
|
||||
:1038B800000E04018E6F630E040104018B6F790EF4
|
||||
:1038C80004018C6F3BEC03F0BCEC08F073EC1BF0CC
|
||||
:1038D800FBD714EF00F0000EC26E04015A6F0F0EF2
|
||||
:1038E800C16E04015A51070EB46E000E806E000EB0
|
||||
:1038F800926E000E946E000E956E000E826E000E93
|
||||
:10390800836E000E936E000E816E89989298949241
|
||||
:103918009494929612005DC463F45EC464F40BD070
|
||||
:1039280063C4E9FF64C4EAFF04015FC4EFFF040154
|
||||
:103938000401634B642B040104016107D8A06207EA
|
||||
:1039480004016129D8B46229D8A401D001D0E8D7EC
|
||||
:1039580000D0120000D00A50040104015919D8B44B
|
||||
:1039680001D001D0F8D70501000E0A24E96EEA6AF1
|
||||
:103978000501050EEA2204019CC4EFFF0A28D8A419
|
||||
:1039880001D001D003D0000E0A6E01D00A2A9D880A
|
||||
:1039980012000401636F000E046E040163510401F8
|
||||
:1039A800636F000E026E040163510401636F000E21
|
||||
:1039B8000C6E040163510401636F000E0B6E040169
|
||||
:1039C8006351040104015569040156691200116626
|
||||
:1039D80001D001D011D00084106601D001D001D0EF
|
||||
:1039E80011D010C011F0000E106E00B601D001D039
|
||||
:1039F80002D0897801D000961150D8B401D001D0F6
|
||||
:103A080001D011061200CA82CA9CCA8ACA98CA96EC
|
||||
:103A1800000EBD6E000EBA6EBA86BA84BD86BD842D
|
||||
:103A2800BD9ABD98BA9ABA98000EBE6E000EBB6ECB
|
||||
:103A38009E92CB689F929D82CA84120080C48FF4A4
|
||||
:103A480081C490F47EC48DF47FC48EF4AD0E04015D
|
||||
:103A580004018B6F790E04018C6F3BEC03F01200AC
|
||||
:103A6800D594D592D590D596D59AD58CF294F28ADC
|
||||
:103A780092969388F184D58E78EC1DF01200100E82
|
||||
:103A8800040104018B6F790E04018C6F3BEC03F089
|
||||
:103A98007EC47FF472EC1DF01200F40E04010401E0
|
||||
:103AA8008B6F790E04018C6F3BEC03F0120092943B
|
||||
:103AB80092988998B19AB198A082A282B190120086
|
||||
:103AC800D08EF28EF28CF28E120078EC1DF0D58E2C
|
||||
:103AD800B1901200D59E7BEC1DF012007FC44DF40E
|
||||
:103AE800120068C450F412008994898612008984EF
|
||||
:043AF8008996120099
|
||||
:1078EA0001000A006400E8031027010010000001EB
|
||||
:1078FA000010556E6B6E6F776E20636F6D6D616EE3
|
||||
:10790A006420282575290D0A003031323334353682
|
||||
:10791A003738394142434445460073656C666C65A5
|
||||
:10792A0061726E696E6776320073656C666C65614A
|
||||
:10793A00726E696E670065766572666C6F757269DC
|
||||
:10794A0073680066696E656F666673657400636F57
|
||||
:10795A006465737769746368000D0A2B5625750D83
|
||||
:10796A000A0025733A307825583B006D616E646FC2
|
||||
:10797A006C796E0070726F746F636F6C00413A209D
|
||||
:10798A0025690D0A00423A2025690D0A00617263D1
|
||||
:10799A007465636800286E756C6C290073656E7374
|
||||
:1079AA006F720025733A25733B006F7265676F6EBD
|
||||
:1079BA000068617374610025733A3078006D6F64F2
|
||||
:1079CA00656C00636C617373002B530D0A002558B4
|
||||
:1079DA0025580064617461002B540D0A002B4E0D6A
|
||||
:1079EA000A0025733A00783130002B57002B5200D9
|
||||
:0679FA0056004E000000E3
|
||||
:020000040030CA
|
||||
:04000000FF36FFFECA
|
||||
:02000600BFFF3A
|
||||
:00000001FF
|
4476
telldus-gui/Plugins/Controllers/firmware/TellStickNet.hex
Normal file
4476
telldus-gui/Plugins/Controllers/firmware/TellStickNet.hex
Normal file
File diff suppressed because it is too large
Load diff
7
telldus-gui/Plugins/Controllers/ftd2xx.h
Normal file
7
telldus-gui/Plugins/Controllers/ftd2xx.h
Normal file
|
@ -0,0 +1,7 @@
|
|||
#ifdef _WINDOWS
|
||||
#include <windows.h>
|
||||
#include "win\ftd2xx.h"
|
||||
#else
|
||||
#include "osx/WinTypes.h"
|
||||
#include "osx/ftd2xx.h"
|
||||
#endif
|
Binary file not shown.
Before Width: | Height: | Size: 754 B After Width: | Height: | Size: 1.6 KiB |
87
telldus-gui/Plugins/Controllers/osx/WinTypes.h
Normal file
87
telldus-gui/Plugins/Controllers/osx/WinTypes.h
Normal file
|
@ -0,0 +1,87 @@
|
|||
#ifndef __WINDOWS_TYPES__
|
||||
#define __WINDOWS_TYPES__
|
||||
|
||||
#define MAX_NUM_DEVICES 50
|
||||
#include <sys/time.h>
|
||||
|
||||
typedef unsigned int DWORD;
|
||||
typedef unsigned int ULONG;
|
||||
typedef unsigned short USHORT;
|
||||
typedef unsigned short SHORT;
|
||||
typedef unsigned char UCHAR;
|
||||
typedef unsigned short WORD;
|
||||
typedef unsigned char BYTE;
|
||||
typedef BYTE *LPBYTE;
|
||||
typedef unsigned int BOOL;
|
||||
typedef unsigned char BOOLEAN;
|
||||
typedef unsigned char CHAR;
|
||||
typedef BOOL *LPBOOL;
|
||||
typedef UCHAR *PUCHAR;
|
||||
typedef const char *LPCSTR;
|
||||
typedef char *PCHAR;
|
||||
typedef void *PVOID;
|
||||
typedef void *HANDLE;
|
||||
typedef unsigned int LONG;
|
||||
typedef int INT;
|
||||
typedef unsigned int UINT;
|
||||
typedef char *LPSTR;
|
||||
typedef char *LPTSTR;
|
||||
typedef DWORD *LPDWORD;
|
||||
typedef WORD *LPWORD;
|
||||
typedef ULONG *PULONG;
|
||||
typedef PVOID LPVOID;
|
||||
typedef void VOID;
|
||||
typedef unsigned long long int ULONGLONG;
|
||||
|
||||
typedef struct _OVERLAPPED {
|
||||
DWORD Internal;
|
||||
DWORD InternalHigh;
|
||||
DWORD Offset;
|
||||
DWORD OffsetHigh;
|
||||
HANDLE hEvent;
|
||||
} OVERLAPPED, *LPOVERLAPPED;
|
||||
|
||||
typedef struct _SECURITY_ATTRIBUTES {
|
||||
DWORD nLength;
|
||||
LPVOID lpSecurityDescriptor;
|
||||
BOOL bInheritHandle;
|
||||
} SECURITY_ATTRIBUTES , *LPSECURITY_ATTRIBUTES;
|
||||
|
||||
typedef struct timeval SYSTEMTIME;
|
||||
typedef struct timeval FILETIME;
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
|
||||
//
|
||||
// Modem Status Flags
|
||||
//
|
||||
#define MS_CTS_ON ((DWORD)0x0010)
|
||||
#define MS_DSR_ON ((DWORD)0x0020)
|
||||
#define MS_RING_ON ((DWORD)0x0040)
|
||||
#define MS_RLSD_ON ((DWORD)0x0080)
|
||||
|
||||
//
|
||||
// Error Flags
|
||||
//
|
||||
|
||||
#define CE_RXOVER 0x0001 // Receive Queue overflow
|
||||
#define CE_OVERRUN 0x0002 // Receive Overrun Error
|
||||
#define CE_RXPARITY 0x0004 // Receive Parity Error
|
||||
#define CE_FRAME 0x0008 // Receive Framing error
|
||||
#define CE_BREAK 0x0010 // Break Detected
|
||||
#define CE_TXFULL 0x0100 // TX Queue is full
|
||||
#define CE_PTO 0x0200 // LPTx Timeout
|
||||
#define CE_IOE 0x0400 // LPTx I/O Error
|
||||
#define CE_DNS 0x0800 // LPTx Device not selected
|
||||
#define CE_OOP 0x1000 // LPTx Out-Of-Paper
|
||||
#define CE_MODE 0x8000 // Requested mode unsupported
|
||||
|
||||
#ifndef INVALID_HANDLE_VALUE
|
||||
#define INVALID_HANDLE_VALUE 0xFFFFFFFF
|
||||
#endif
|
||||
|
||||
#endif
|
1008
telldus-gui/Plugins/Controllers/osx/ftd2xx.h
Normal file
1008
telldus-gui/Plugins/Controllers/osx/ftd2xx.h
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,2 +1,4 @@
|
|||
HeaderTitle 1.0 HeaderTitle.qml
|
||||
ControllerView 1.0 ControllerView.qml
|
||||
ControllerUpgradeDialog 1.0 ControllerUpgradeDialog.qml
|
||||
StateLabel 1.0 StateLabel.qml
|
||||
|
|
337
telldus-gui/Plugins/Controllers/tellstick.cpp
Normal file
337
telldus-gui/Plugins/Controllers/tellstick.cpp
Normal file
|
@ -0,0 +1,337 @@
|
|||
#include "tellstick.h"
|
||||
#include <telldus-core.h>
|
||||
#include <QApplication>
|
||||
#include <QTimer>
|
||||
#include <QFile>
|
||||
#include <QDebug>
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include "ftd2xx.h"
|
||||
|
||||
inline void msleep( const int msec) {
|
||||
#ifdef _WINDOWS
|
||||
Sleep(msec);
|
||||
#else
|
||||
usleep(msec*1000);
|
||||
#endif
|
||||
}
|
||||
|
||||
class TellStick::PrivateData {
|
||||
public:
|
||||
FT_HANDLE ftHandle;
|
||||
};
|
||||
|
||||
TellStick::TellStick(int id, int type, const QString &name, QObject *parent) :
|
||||
Controller(id, type, name, parent)
|
||||
{
|
||||
d = new PrivateData;
|
||||
}
|
||||
|
||||
TellStick::~TellStick() {
|
||||
delete d;
|
||||
}
|
||||
|
||||
void TellStick::setAvailable(bool available) {
|
||||
Controller::setAvailable(available);
|
||||
if (!available && upgradeStep() == 0) {
|
||||
//Doing firmware upgrade
|
||||
setUpgradeStep(1);
|
||||
QTimer::singleShot(1000, this, SLOT(aquireTellStick())); //Allow for widget updates
|
||||
}
|
||||
}
|
||||
|
||||
bool TellStick::isUpgradable() const {
|
||||
QString fw = firmware();
|
||||
if (fw == "?") {
|
||||
return false;
|
||||
}
|
||||
int firmware = fw.toInt();
|
||||
if (type() == 1) {
|
||||
//TellStick
|
||||
if (firmware <= 3) {
|
||||
return false;
|
||||
}
|
||||
if (firmware < 6) {
|
||||
return true;
|
||||
}
|
||||
|
||||
} else if (type() == 2) {
|
||||
//TellStick Duo
|
||||
if (firmware < 10) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void TellStick::aquireTellStick() {
|
||||
char *tempSerial = new char[serial().size()+1];
|
||||
#ifdef _WINDOWS
|
||||
strcpy_s(tempSerial, serial().size()+1, serial().toLocal8Bit());
|
||||
#else
|
||||
strcpy(tempSerial, serial().toLocal8Bit());
|
||||
int pid = 0x0C30;
|
||||
if (type() == 2) {
|
||||
pid = 0x0C31;
|
||||
}
|
||||
FT_SetVIDPID(0x1781, pid);
|
||||
#endif
|
||||
FT_STATUS ftStatus = FT_OpenEx(tempSerial, FT_OPEN_BY_SERIAL_NUMBER, &d->ftHandle);
|
||||
delete tempSerial;
|
||||
if (ftStatus != FT_OK) {
|
||||
return;
|
||||
}
|
||||
//open = true;
|
||||
|
||||
if (type() == 2) {
|
||||
FT_SetBaudRate(d->ftHandle, 115200);
|
||||
} else {
|
||||
FT_SetBaudRate(d->ftHandle, 9600);
|
||||
}
|
||||
FT_SetFlowControl(d->ftHandle, FT_FLOW_NONE, 0, 0);
|
||||
FT_SetTimeouts(d->ftHandle,1000,0);
|
||||
|
||||
setUpgradeStep(2);
|
||||
QTimer::singleShot(0, this, SLOT(enterBootloader()));
|
||||
}
|
||||
|
||||
void TellStick::enterBootloader() {
|
||||
FT_Purge(d->ftHandle, FT_PURGE_RX | FT_PURGE_TX);
|
||||
|
||||
FT_STATUS ftStatus = FT_SetBitMode(d->ftHandle, 0xff, 0x20);
|
||||
for (int i = 0; i < 100; ++i) {
|
||||
msleep(1);
|
||||
QApplication::processEvents();
|
||||
}
|
||||
ftStatus = FT_SetBitMode(d->ftHandle, 0xf0, 0x20);
|
||||
|
||||
char buf = 0;
|
||||
while(1) { //TODO: Make it possible to bail!
|
||||
QApplication::processEvents();
|
||||
buf = getCh();
|
||||
if (buf == 'g') {
|
||||
break;
|
||||
}
|
||||
}
|
||||
send('r');
|
||||
setUpgradeStep(3);
|
||||
QTimer::singleShot(1000, this, SLOT(downloadFirmware()));
|
||||
}
|
||||
|
||||
void TellStick::downloadFirmware() {
|
||||
QString filename = "TellStick";
|
||||
int bootloaderStart = 0x3A00;
|
||||
if (type() == 2) {
|
||||
filename = "TellStickDuo";
|
||||
bootloaderStart = 0x7A00;
|
||||
}
|
||||
QString path;
|
||||
//if (QApplication::arguments().count() > 1) {
|
||||
// path = QApplication::arguments().at(1);
|
||||
//} else {
|
||||
path = QString(":/firmware/%1.hex").arg(filename);
|
||||
//}
|
||||
|
||||
QByteArray data = readHex(path, bootloaderStart);
|
||||
int bytesLeft = 0, i = 0;
|
||||
char byte;
|
||||
|
||||
while (i < data.length()) {
|
||||
QApplication::processEvents();
|
||||
byte = getCh();
|
||||
QApplication::processEvents();
|
||||
if (byte == 'b') {
|
||||
bytesLeft = data.length() - i;
|
||||
if (bytesLeft > 0xFF) {
|
||||
bytesLeft = 0xFF;
|
||||
}
|
||||
send(bytesLeft);
|
||||
} else if (byte == 'd') {
|
||||
send(data[i]);
|
||||
--bytesLeft;
|
||||
++i;
|
||||
this->setUpgradeProgress( (qreal)i/(qreal)data.length()*100.0 );
|
||||
}
|
||||
}
|
||||
setUpgradeStep(4);
|
||||
QTimer::singleShot(0, this, SLOT(rebootTellStick()));
|
||||
}
|
||||
|
||||
void TellStick::rebootTellStick() {
|
||||
FT_STATUS ftStatus = FT_SetBitMode(d->ftHandle, 0xff, 0x20);
|
||||
for (int i = 0; i < 100; ++i) {
|
||||
msleep(1);
|
||||
QApplication::processEvents();
|
||||
}
|
||||
ftStatus = FT_SetBitMode(d->ftHandle, 0xf0, 0x20);
|
||||
FT_Close(d->ftHandle);
|
||||
QApplication::processEvents();
|
||||
setUpgradeStep(5);
|
||||
QTimer::singleShot(0, this, SLOT(connectTellStick()));
|
||||
}
|
||||
|
||||
void TellStick::connectTellStick() {
|
||||
int pid = 0x0C30;
|
||||
if (type() == 2) {
|
||||
pid = 0x0C31;
|
||||
}
|
||||
tdConnectTellStickController(0x1781, pid, this->serial().toUtf8());
|
||||
setUpgradeStep(-1);
|
||||
emit upgradableChanged();
|
||||
emit upgradeDone();
|
||||
}
|
||||
|
||||
char TellStick::getCh() {
|
||||
char buf = 0;
|
||||
DWORD dwBytesRead = 0;
|
||||
FT_Read(d->ftHandle, &buf, sizeof(buf), &dwBytesRead);
|
||||
return buf;
|
||||
}
|
||||
|
||||
void TellStick::send(uchar ch) {
|
||||
DWORD bytesWritten;
|
||||
FT_Write(d->ftHandle, &ch, sizeof(ch), &bytesWritten);
|
||||
}
|
||||
|
||||
QByteArray TellStick::readHex(const QString &filename, int maxAddress) {
|
||||
QByteArray data;
|
||||
|
||||
QFile file(filename);
|
||||
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
return "";
|
||||
}
|
||||
while( !file.atEnd() ) {
|
||||
QByteArray fileLine = file.readLine();
|
||||
|
||||
if (fileLine[0] != ':' || fileLine.length() < 11) {
|
||||
// skip line if not hex line entry,or not minimum length ":BBAAAATTCC"
|
||||
continue;
|
||||
}
|
||||
|
||||
int byteCount = parseHex(fileLine, 1, 2);
|
||||
int startAddress = parseHex(fileLine, 3, 4);
|
||||
int recordType = parseHex(fileLine, 7, 2);
|
||||
|
||||
if (recordType == 1) {
|
||||
//End of file, break
|
||||
break;
|
||||
}
|
||||
if (recordType == 2) {
|
||||
//Not implemented yet
|
||||
} else if (recordType == 4) {
|
||||
//Extended Linear Address Record not supported
|
||||
break;
|
||||
} else if (recordType == 0) { //Data record
|
||||
if (fileLine.length() < (11+ (2*byteCount))) {
|
||||
// skip if line isn't long enough for bytecount.
|
||||
continue;
|
||||
}
|
||||
//Protect us from overwriting the bootloader
|
||||
if (startAddress >= maxAddress) {
|
||||
continue;
|
||||
}
|
||||
//Pad with empty data when needed
|
||||
if ((startAddress > data.size())) {
|
||||
while (startAddress > data.size()) {
|
||||
data.append((char)0xFF);
|
||||
}
|
||||
}
|
||||
|
||||
for (int lineByte = 0; lineByte < byteCount; lineByte++) {
|
||||
unsigned char hex = (unsigned char)parseHex(fileLine, 9 + (2 * lineByte), 2);
|
||||
data.append(hex);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < 64; ++i) { //At least 64-bytes extra so the last block will be written to the memory
|
||||
data.append((char)0xff);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
int TellStick::parseHex(const QByteArray &characters, int start, int length) {
|
||||
int integer = 0;
|
||||
|
||||
for (int i = 0; i < length; i++) {
|
||||
integer *= 16;
|
||||
switch(characters[start + i]) {
|
||||
case '1':
|
||||
integer += 1;
|
||||
break;
|
||||
|
||||
case '2':
|
||||
integer += 2;
|
||||
break;
|
||||
|
||||
case '3':
|
||||
integer += 3;
|
||||
break;
|
||||
|
||||
case '4':
|
||||
integer += 4;
|
||||
break;
|
||||
|
||||
case '5':
|
||||
integer += 5;
|
||||
break;
|
||||
|
||||
case '6':
|
||||
integer += 6;
|
||||
break;
|
||||
|
||||
case '7':
|
||||
integer += 7;
|
||||
break;
|
||||
|
||||
case '8':
|
||||
integer += 8;
|
||||
break;
|
||||
|
||||
case '9':
|
||||
integer += 9;
|
||||
break;
|
||||
|
||||
case 'A':
|
||||
case 'a':
|
||||
integer += 10;
|
||||
break;
|
||||
|
||||
case 'B':
|
||||
case 'b':
|
||||
integer += 11;
|
||||
break;
|
||||
|
||||
case 'C':
|
||||
case 'c':
|
||||
integer += 12;
|
||||
break;
|
||||
|
||||
case 'D':
|
||||
case 'd':
|
||||
integer += 13;
|
||||
break;
|
||||
|
||||
case 'E':
|
||||
case 'e':
|
||||
integer += 14;
|
||||
break;
|
||||
|
||||
case 'F':
|
||||
case 'f':
|
||||
integer += 15;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return integer;
|
||||
}
|
||||
|
||||
void TellStick::upgrade() {
|
||||
setUpgradeStep(0);
|
||||
int pid = 0x0C30;
|
||||
if (type() == 2) {
|
||||
pid = 0x0C31;
|
||||
}
|
||||
tdDisconnectTellStickController(0x1781, pid, serial().toUtf8()); //TODO: Make dynamic for TellStick Duo
|
||||
}
|
56
telldus-gui/Plugins/Controllers/tellstick.h
Normal file
56
telldus-gui/Plugins/Controllers/tellstick.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
#ifndef TELLSTICK_H
|
||||
#define TELLSTICK_H
|
||||
|
||||
#include "controller.h"
|
||||
|
||||
class TellStick : public Controller
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit TellStick(int id = 0, int type = 1, const QString &name = "", QObject *parent = 0);
|
||||
virtual ~TellStick();
|
||||
|
||||
//bool available() const;
|
||||
virtual void setAvailable(bool available);
|
||||
|
||||
/*QString firmware() const;
|
||||
void setFirmware(const QString &version);
|
||||
|
||||
int id() const;
|
||||
|
||||
QString name() const;
|
||||
void setName(const QString &name);
|
||||
|
||||
void save();
|
||||
|
||||
QString serial() const;
|
||||
|
||||
Q_INVOKABLE void tryRemove();
|
||||
|
||||
int type() const;*/
|
||||
|
||||
Q_INVOKABLE virtual void upgrade();
|
||||
|
||||
protected:
|
||||
virtual bool isUpgradable() const;
|
||||
|
||||
private slots:
|
||||
void aquireTellStick();
|
||||
void enterBootloader();
|
||||
void downloadFirmware();
|
||||
void rebootTellStick();
|
||||
void connectTellStick();
|
||||
|
||||
private:
|
||||
char getCh();
|
||||
void send(uchar ch);
|
||||
|
||||
static QByteArray readHex(const QString &filename, int maxAddress);
|
||||
static int parseHex( const QByteArray &characters, int start, int length );
|
||||
|
||||
class PrivateData;
|
||||
PrivateData *d;
|
||||
};
|
||||
|
||||
#endif // TELLSTICK_H
|
963
telldus-gui/Plugins/Controllers/win/ftd2xx.h
Normal file
963
telldus-gui/Plugins/Controllers/win/ftd2xx.h
Normal file
|
@ -0,0 +1,963 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2001-2007 Future Technology Devices International Ltd.
|
||||
|
||||
Module Name:
|
||||
|
||||
ftd2xx.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Native USB device driver for FTDI FT8U232/245
|
||||
FTD2XX library definitions
|
||||
|
||||
Environment:
|
||||
|
||||
kernel & user mode
|
||||
|
||||
Revision History:
|
||||
|
||||
13/03/01 awm Created.
|
||||
13/01/03 awm Added device information support.
|
||||
19/03/03 awm Added FT_W32_CancelIo.
|
||||
12/06/03 awm Added FT_StopInTask and FT_RestartInTask.
|
||||
18/09/03 awm Added FT_SetResetPipeRetryCount.
|
||||
10/10/03 awm Added FT_ResetPort.
|
||||
23/01/04 awm Added support for open-by-location.
|
||||
16/03/04 awm Added support for FT2232C.
|
||||
23/09/04 awm Added support for FT232R.
|
||||
20/10/04 awm Added FT_CyclePort.
|
||||
18/01/05 awm Added FT_DEVICE_LIST_INFO_NODE type.
|
||||
11/02/05 awm Added LocId to FT_DEVICE_LIST_INFO_NODE.
|
||||
25/08/05 awm Added FT_SetDeadmanTimeout.
|
||||
02/12/05 awm Removed obsolete references.
|
||||
05/12/05 awm Added FT_GetVersion, FT_GetVersionEx.
|
||||
08/09/06 awm Added FT_W32_GetCommMask.
|
||||
11/09/06 awm Added FT_Rescan.
|
||||
11/07/07 awm Added support for FT2232H and FT4232H.
|
||||
10/08/07 awm Added flags definitions.
|
||||
21/11/07 mja Added FT_GetComPortNumber.
|
||||
05/06/08 mja Added EEPROM extensions for FT2232H.
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
#ifndef FTD2XX_H
|
||||
#define FTD2XX_H
|
||||
|
||||
// The following ifdef block is the standard way of creating macros
|
||||
// which make exporting from a DLL simpler. All files within this DLL
|
||||
// are compiled with the FTD2XX_EXPORTS symbol defined on the command line.
|
||||
// This symbol should not be defined on any project that uses this DLL.
|
||||
// This way any other project whose source files include this file see
|
||||
// FTD2XX_API functions as being imported from a DLL, whereas this DLL
|
||||
// sees symbols defined with this macro as being exported.
|
||||
|
||||
#ifdef FTD2XX_EXPORTS
|
||||
#define FTD2XX_API __declspec(dllexport)
|
||||
#else
|
||||
#define FTD2XX_API __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
|
||||
typedef PVOID FT_HANDLE;
|
||||
typedef ULONG FT_STATUS;
|
||||
|
||||
//
|
||||
// Device status
|
||||
//
|
||||
enum {
|
||||
FT_OK,
|
||||
FT_INVALID_HANDLE,
|
||||
FT_DEVICE_NOT_FOUND,
|
||||
FT_DEVICE_NOT_OPENED,
|
||||
FT_IO_ERROR,
|
||||
FT_INSUFFICIENT_RESOURCES,
|
||||
FT_INVALID_PARAMETER,
|
||||
FT_INVALID_BAUD_RATE,
|
||||
|
||||
FT_DEVICE_NOT_OPENED_FOR_ERASE,
|
||||
FT_DEVICE_NOT_OPENED_FOR_WRITE,
|
||||
FT_FAILED_TO_WRITE_DEVICE,
|
||||
FT_EEPROM_READ_FAILED,
|
||||
FT_EEPROM_WRITE_FAILED,
|
||||
FT_EEPROM_ERASE_FAILED,
|
||||
FT_EEPROM_NOT_PRESENT,
|
||||
FT_EEPROM_NOT_PROGRAMMED,
|
||||
FT_INVALID_ARGS,
|
||||
FT_NOT_SUPPORTED,
|
||||
FT_OTHER_ERROR,
|
||||
FT_DEVICE_LIST_NOT_READY,
|
||||
};
|
||||
|
||||
|
||||
#define FT_SUCCESS(status) ((status) == FT_OK)
|
||||
|
||||
//
|
||||
// FT_OpenEx Flags
|
||||
//
|
||||
|
||||
#define FT_OPEN_BY_SERIAL_NUMBER 1
|
||||
#define FT_OPEN_BY_DESCRIPTION 2
|
||||
#define FT_OPEN_BY_LOCATION 4
|
||||
|
||||
//
|
||||
// FT_ListDevices Flags (used in conjunction with FT_OpenEx Flags
|
||||
//
|
||||
|
||||
#define FT_LIST_NUMBER_ONLY 0x80000000
|
||||
#define FT_LIST_BY_INDEX 0x40000000
|
||||
#define FT_LIST_ALL 0x20000000
|
||||
|
||||
#define FT_LIST_MASK (FT_LIST_NUMBER_ONLY|FT_LIST_BY_INDEX|FT_LIST_ALL)
|
||||
|
||||
//
|
||||
// Baud Rates
|
||||
//
|
||||
|
||||
#define FT_BAUD_300 300
|
||||
#define FT_BAUD_600 600
|
||||
#define FT_BAUD_1200 1200
|
||||
#define FT_BAUD_2400 2400
|
||||
#define FT_BAUD_4800 4800
|
||||
#define FT_BAUD_9600 9600
|
||||
#define FT_BAUD_14400 14400
|
||||
#define FT_BAUD_19200 19200
|
||||
#define FT_BAUD_38400 38400
|
||||
#define FT_BAUD_57600 57600
|
||||
#define FT_BAUD_115200 115200
|
||||
#define FT_BAUD_230400 230400
|
||||
#define FT_BAUD_460800 460800
|
||||
#define FT_BAUD_921600 921600
|
||||
|
||||
//
|
||||
// Word Lengths
|
||||
//
|
||||
|
||||
#define FT_BITS_8 (UCHAR) 8
|
||||
#define FT_BITS_7 (UCHAR) 7
|
||||
#define FT_BITS_6 (UCHAR) 6
|
||||
#define FT_BITS_5 (UCHAR) 5
|
||||
|
||||
//
|
||||
// Stop Bits
|
||||
//
|
||||
|
||||
#define FT_STOP_BITS_1 (UCHAR) 0
|
||||
#define FT_STOP_BITS_1_5 (UCHAR) 1
|
||||
#define FT_STOP_BITS_2 (UCHAR) 2
|
||||
|
||||
//
|
||||
// Parity
|
||||
//
|
||||
|
||||
#define FT_PARITY_NONE (UCHAR) 0
|
||||
#define FT_PARITY_ODD (UCHAR) 1
|
||||
#define FT_PARITY_EVEN (UCHAR) 2
|
||||
#define FT_PARITY_MARK (UCHAR) 3
|
||||
#define FT_PARITY_SPACE (UCHAR) 4
|
||||
|
||||
//
|
||||
// Flow Control
|
||||
//
|
||||
|
||||
#define FT_FLOW_NONE 0x0000
|
||||
#define FT_FLOW_RTS_CTS 0x0100
|
||||
#define FT_FLOW_DTR_DSR 0x0200
|
||||
#define FT_FLOW_XON_XOFF 0x0400
|
||||
|
||||
//
|
||||
// Purge rx and tx buffers
|
||||
//
|
||||
#define FT_PURGE_RX 1
|
||||
#define FT_PURGE_TX 2
|
||||
|
||||
//
|
||||
// Events
|
||||
//
|
||||
|
||||
typedef void (*PFT_EVENT_HANDLER)(DWORD,DWORD);
|
||||
|
||||
#define FT_EVENT_RXCHAR 1
|
||||
#define FT_EVENT_MODEM_STATUS 2
|
||||
#define FT_EVENT_LINE_STATUS 4
|
||||
|
||||
//
|
||||
// Timeouts
|
||||
//
|
||||
|
||||
#define FT_DEFAULT_RX_TIMEOUT 300
|
||||
#define FT_DEFAULT_TX_TIMEOUT 300
|
||||
|
||||
//
|
||||
// Device types
|
||||
//
|
||||
|
||||
typedef ULONG FT_DEVICE;
|
||||
|
||||
enum {
|
||||
FT_DEVICE_BM,
|
||||
FT_DEVICE_AM,
|
||||
FT_DEVICE_100AX,
|
||||
FT_DEVICE_UNKNOWN,
|
||||
FT_DEVICE_2232C,
|
||||
FT_DEVICE_232R,
|
||||
FT_DEVICE_2232H,
|
||||
FT_DEVICE_4232H
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_Open(
|
||||
int deviceNumber,
|
||||
FT_HANDLE *pHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_OpenEx(
|
||||
PVOID pArg1,
|
||||
DWORD Flags,
|
||||
FT_HANDLE *pHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_ListDevices(
|
||||
PVOID pArg1,
|
||||
PVOID pArg2,
|
||||
DWORD Flags
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_Close(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_Read(
|
||||
FT_HANDLE ftHandle,
|
||||
LPVOID lpBuffer,
|
||||
DWORD dwBytesToRead,
|
||||
LPDWORD lpBytesReturned
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_Write(
|
||||
FT_HANDLE ftHandle,
|
||||
LPVOID lpBuffer,
|
||||
DWORD dwBytesToWrite,
|
||||
LPDWORD lpBytesWritten
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_IoCtl(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD dwIoControlCode,
|
||||
LPVOID lpInBuf,
|
||||
DWORD nInBufSize,
|
||||
LPVOID lpOutBuf,
|
||||
DWORD nOutBufSize,
|
||||
LPDWORD lpBytesReturned,
|
||||
LPOVERLAPPED lpOverlapped
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetBaudRate(
|
||||
FT_HANDLE ftHandle,
|
||||
ULONG BaudRate
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetDivisor(
|
||||
FT_HANDLE ftHandle,
|
||||
USHORT Divisor
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetDataCharacteristics(
|
||||
FT_HANDLE ftHandle,
|
||||
UCHAR WordLength,
|
||||
UCHAR StopBits,
|
||||
UCHAR Parity
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetFlowControl(
|
||||
FT_HANDLE ftHandle,
|
||||
USHORT FlowControl,
|
||||
UCHAR XonChar,
|
||||
UCHAR XoffChar
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_ResetDevice(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetDtr(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_ClrDtr(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetRts(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_ClrRts(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetModemStatus(
|
||||
FT_HANDLE ftHandle,
|
||||
ULONG *pModemStatus
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetChars(
|
||||
FT_HANDLE ftHandle,
|
||||
UCHAR EventChar,
|
||||
UCHAR EventCharEnabled,
|
||||
UCHAR ErrorChar,
|
||||
UCHAR ErrorCharEnabled
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_Purge(
|
||||
FT_HANDLE ftHandle,
|
||||
ULONG Mask
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetTimeouts(
|
||||
FT_HANDLE ftHandle,
|
||||
ULONG ReadTimeout,
|
||||
ULONG WriteTimeout
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetQueueStatus(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD *dwRxBytes
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetEventNotification(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD Mask,
|
||||
PVOID Param
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetStatus(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD *dwRxBytes,
|
||||
DWORD *dwTxBytes,
|
||||
DWORD *dwEventDWord
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetBreakOn(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetBreakOff(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetWaitMask(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD Mask
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_WaitOnMask(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD *Mask
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetEventStatus(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD *dwEventDWord
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_ReadEE(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD dwWordOffset,
|
||||
LPWORD lpwValue
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_WriteEE(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD dwWordOffset,
|
||||
WORD wValue
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_EraseEE(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
//
|
||||
// structure to hold program data for FT_Program function
|
||||
//
|
||||
typedef struct ft_program_data {
|
||||
|
||||
DWORD Signature1; // Header - must be 0x00000000
|
||||
DWORD Signature2; // Header - must be 0xffffffff
|
||||
DWORD Version; // Header - FT_PROGRAM_DATA version
|
||||
// 0 = original
|
||||
// 1 = FT2232C extensions
|
||||
// 2 = FT232R extensions
|
||||
// 3 = FT2232H extensions
|
||||
// 4 = FT4232H extensions
|
||||
|
||||
WORD VendorId; // 0x0403
|
||||
WORD ProductId; // 0x6001
|
||||
char *Manufacturer; // "FTDI"
|
||||
char *ManufacturerId; // "FT"
|
||||
char *Description; // "USB HS Serial Converter"
|
||||
char *SerialNumber; // "FT000001" if fixed, or NULL
|
||||
WORD MaxPower; // 0 < MaxPower <= 500
|
||||
WORD PnP; // 0 = disabled, 1 = enabled
|
||||
WORD SelfPowered; // 0 = bus powered, 1 = self powered
|
||||
WORD RemoteWakeup; // 0 = not capable, 1 = capable
|
||||
//
|
||||
// Rev4 (FT232B) extensions
|
||||
//
|
||||
UCHAR Rev4; // non-zero if Rev4 chip, zero otherwise
|
||||
UCHAR IsoIn; // non-zero if in endpoint is isochronous
|
||||
UCHAR IsoOut; // non-zero if out endpoint is isochronous
|
||||
UCHAR PullDownEnable; // non-zero if pull down enabled
|
||||
UCHAR SerNumEnable; // non-zero if serial number to be used
|
||||
UCHAR USBVersionEnable; // non-zero if chip uses USBVersion
|
||||
WORD USBVersion; // BCD (0x0200 => USB2)
|
||||
//
|
||||
// Rev 5 (FT2232) extensions
|
||||
//
|
||||
UCHAR Rev5; // non-zero if Rev5 chip, zero otherwise
|
||||
UCHAR IsoInA; // non-zero if in endpoint is isochronous
|
||||
UCHAR IsoInB; // non-zero if in endpoint is isochronous
|
||||
UCHAR IsoOutA; // non-zero if out endpoint is isochronous
|
||||
UCHAR IsoOutB; // non-zero if out endpoint is isochronous
|
||||
UCHAR PullDownEnable5; // non-zero if pull down enabled
|
||||
UCHAR SerNumEnable5; // non-zero if serial number to be used
|
||||
UCHAR USBVersionEnable5; // non-zero if chip uses USBVersion
|
||||
WORD USBVersion5; // BCD (0x0200 => USB2)
|
||||
UCHAR AIsHighCurrent; // non-zero if interface is high current
|
||||
UCHAR BIsHighCurrent; // non-zero if interface is high current
|
||||
UCHAR IFAIsFifo; // non-zero if interface is 245 FIFO
|
||||
UCHAR IFAIsFifoTar; // non-zero if interface is 245 FIFO CPU target
|
||||
UCHAR IFAIsFastSer; // non-zero if interface is Fast serial
|
||||
UCHAR AIsVCP; // non-zero if interface is to use VCP drivers
|
||||
UCHAR IFBIsFifo; // non-zero if interface is 245 FIFO
|
||||
UCHAR IFBIsFifoTar; // non-zero if interface is 245 FIFO CPU target
|
||||
UCHAR IFBIsFastSer; // non-zero if interface is Fast serial
|
||||
UCHAR BIsVCP; // non-zero if interface is to use VCP drivers
|
||||
//
|
||||
// Rev 6 (FT232R) extensions
|
||||
//
|
||||
UCHAR UseExtOsc; // Use External Oscillator
|
||||
UCHAR HighDriveIOs; // High Drive I/Os
|
||||
UCHAR EndpointSize; // Endpoint size
|
||||
UCHAR PullDownEnableR; // non-zero if pull down enabled
|
||||
UCHAR SerNumEnableR; // non-zero if serial number to be used
|
||||
UCHAR InvertTXD; // non-zero if invert TXD
|
||||
UCHAR InvertRXD; // non-zero if invert RXD
|
||||
UCHAR InvertRTS; // non-zero if invert RTS
|
||||
UCHAR InvertCTS; // non-zero if invert CTS
|
||||
UCHAR InvertDTR; // non-zero if invert DTR
|
||||
UCHAR InvertDSR; // non-zero if invert DSR
|
||||
UCHAR InvertDCD; // non-zero if invert DCD
|
||||
UCHAR InvertRI; // non-zero if invert RI
|
||||
UCHAR Cbus0; // Cbus Mux control
|
||||
UCHAR Cbus1; // Cbus Mux control
|
||||
UCHAR Cbus2; // Cbus Mux control
|
||||
UCHAR Cbus3; // Cbus Mux control
|
||||
UCHAR Cbus4; // Cbus Mux control
|
||||
UCHAR RIsD2XX; // non-zero if using D2XX driver
|
||||
//
|
||||
// Rev 7 (FT2232H) Extensions
|
||||
//
|
||||
UCHAR PullDownEnable7; // non-zero if pull down enabled
|
||||
UCHAR SerNumEnable7; // non-zero if serial number to be used
|
||||
UCHAR ALSlowSlew; // non-zero if AL pins have slow slew
|
||||
UCHAR ALSchmittInput; // non-zero if AL pins are Schmitt input
|
||||
UCHAR ALDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
|
||||
UCHAR AHSlowSlew; // non-zero if AH pins have slow slew
|
||||
UCHAR AHSchmittInput; // non-zero if AH pins are Schmitt input
|
||||
UCHAR AHDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
|
||||
UCHAR BLSlowSlew; // non-zero if BL pins have slow slew
|
||||
UCHAR BLSchmittInput; // non-zero if BL pins are Schmitt input
|
||||
UCHAR BLDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
|
||||
UCHAR BHSlowSlew; // non-zero if BH pins have slow slew
|
||||
UCHAR BHSchmittInput; // non-zero if BH pins are Schmitt input
|
||||
UCHAR BHDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
|
||||
UCHAR IFAIsFifo7; // non-zero if interface is 245 FIFO
|
||||
UCHAR IFAIsFifoTar7; // non-zero if interface is 245 FIFO CPU target
|
||||
UCHAR IFAIsFastSer7; // non-zero if interface is Fast serial
|
||||
UCHAR AIsVCP7; // non-zero if interface is to use VCP drivers
|
||||
UCHAR IFBIsFifo7; // non-zero if interface is 245 FIFO
|
||||
UCHAR IFBIsFifoTar7; // non-zero if interface is 245 FIFO CPU target
|
||||
UCHAR IFBIsFastSer7; // non-zero if interface is Fast serial
|
||||
UCHAR BIsVCP7; // non-zero if interface is to use VCP drivers
|
||||
UCHAR PowerSaveEnable; // non-zero if using BCBUS7 to save power for self-powered designs
|
||||
//
|
||||
// Rev 8 (FT4232H) Extensions
|
||||
//
|
||||
UCHAR PullDownEnable8; // non-zero if pull down enabled
|
||||
UCHAR SerNumEnable8; // non-zero if serial number to be used
|
||||
UCHAR ASlowSlew; // non-zero if AL pins have slow slew
|
||||
UCHAR ASchmittInput; // non-zero if AL pins are Schmitt input
|
||||
UCHAR ADriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
|
||||
UCHAR BSlowSlew; // non-zero if AH pins have slow slew
|
||||
UCHAR BSchmittInput; // non-zero if AH pins are Schmitt input
|
||||
UCHAR BDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
|
||||
UCHAR CSlowSlew; // non-zero if BL pins have slow slew
|
||||
UCHAR CSchmittInput; // non-zero if BL pins are Schmitt input
|
||||
UCHAR CDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
|
||||
UCHAR DSlowSlew; // non-zero if BH pins have slow slew
|
||||
UCHAR DSchmittInput; // non-zero if BH pins are Schmitt input
|
||||
UCHAR DDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
|
||||
UCHAR ARIIsTXDEN; // non-zero if port A uses RI as RS485 TXDEN
|
||||
UCHAR BRIIsTXDEN; // non-zero if port B uses RI as RS485 TXDEN
|
||||
UCHAR CRIIsTXDEN; // non-zero if port C uses RI as RS485 TXDEN
|
||||
UCHAR DRIIsTXDEN; // non-zero if port D uses RI as RS485 TXDEN
|
||||
UCHAR AIsVCP8; // non-zero if interface is to use VCP drivers
|
||||
UCHAR BIsVCP8; // non-zero if interface is to use VCP drivers
|
||||
UCHAR CIsVCP8; // non-zero if interface is to use VCP drivers
|
||||
UCHAR DIsVCP8; // non-zero if interface is to use VCP drivers
|
||||
|
||||
} FT_PROGRAM_DATA, *PFT_PROGRAM_DATA;
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_EE_Program(
|
||||
FT_HANDLE ftHandle,
|
||||
PFT_PROGRAM_DATA pData
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_EE_ProgramEx(
|
||||
FT_HANDLE ftHandle,
|
||||
PFT_PROGRAM_DATA pData,
|
||||
char *Manufacturer,
|
||||
char *ManufacturerId,
|
||||
char *Description,
|
||||
char *SerialNumber
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_EE_Read(
|
||||
FT_HANDLE ftHandle,
|
||||
PFT_PROGRAM_DATA pData
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_EE_ReadEx(
|
||||
FT_HANDLE ftHandle,
|
||||
PFT_PROGRAM_DATA pData,
|
||||
char *Manufacturer,
|
||||
char *ManufacturerId,
|
||||
char *Description,
|
||||
char *SerialNumber
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_EE_UASize(
|
||||
FT_HANDLE ftHandle,
|
||||
LPDWORD lpdwSize
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_EE_UAWrite(
|
||||
FT_HANDLE ftHandle,
|
||||
PUCHAR pucData,
|
||||
DWORD dwDataLen
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_EE_UARead(
|
||||
FT_HANDLE ftHandle,
|
||||
PUCHAR pucData,
|
||||
DWORD dwDataLen,
|
||||
LPDWORD lpdwBytesRead
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetLatencyTimer(
|
||||
FT_HANDLE ftHandle,
|
||||
UCHAR ucLatency
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetLatencyTimer(
|
||||
FT_HANDLE ftHandle,
|
||||
PUCHAR pucLatency
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetBitMode(
|
||||
FT_HANDLE ftHandle,
|
||||
UCHAR ucMask,
|
||||
UCHAR ucEnable
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetBitMode(
|
||||
FT_HANDLE ftHandle,
|
||||
PUCHAR pucMode
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetUSBParameters(
|
||||
FT_HANDLE ftHandle,
|
||||
ULONG ulInTransferSize,
|
||||
ULONG ulOutTransferSize
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetDeadmanTimeout(
|
||||
FT_HANDLE ftHandle,
|
||||
ULONG ulDeadmanTimeout
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetDeviceInfo(
|
||||
FT_HANDLE ftHandle,
|
||||
FT_DEVICE *lpftDevice,
|
||||
LPDWORD lpdwID,
|
||||
PCHAR SerialNumber,
|
||||
PCHAR Description,
|
||||
LPVOID Dummy
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_StopInTask(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_RestartInTask(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_SetResetPipeRetryCount(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD dwCount
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_ResetPort(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_CyclePort(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
|
||||
//
|
||||
// Win32-type functions
|
||||
//
|
||||
|
||||
FTD2XX_API
|
||||
FT_HANDLE WINAPI FT_W32_CreateFile(
|
||||
LPCTSTR lpszName,
|
||||
DWORD dwAccess,
|
||||
DWORD dwShareMode,
|
||||
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
||||
DWORD dwCreate,
|
||||
DWORD dwAttrsAndFlags,
|
||||
HANDLE hTemplate
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_CloseHandle(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_ReadFile(
|
||||
FT_HANDLE ftHandle,
|
||||
LPVOID lpBuffer,
|
||||
DWORD nBufferSize,
|
||||
LPDWORD lpBytesReturned,
|
||||
LPOVERLAPPED lpOverlapped
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_WriteFile(
|
||||
FT_HANDLE ftHandle,
|
||||
LPVOID lpBuffer,
|
||||
DWORD nBufferSize,
|
||||
LPDWORD lpBytesWritten,
|
||||
LPOVERLAPPED lpOverlapped
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
DWORD WINAPI FT_W32_GetLastError(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_GetOverlappedResult(
|
||||
FT_HANDLE ftHandle,
|
||||
LPOVERLAPPED lpOverlapped,
|
||||
LPDWORD lpdwBytesTransferred,
|
||||
BOOL bWait
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_CancelIo(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
|
||||
//
|
||||
// Win32 COMM API type functions
|
||||
//
|
||||
typedef struct _FTCOMSTAT {
|
||||
DWORD fCtsHold : 1;
|
||||
DWORD fDsrHold : 1;
|
||||
DWORD fRlsdHold : 1;
|
||||
DWORD fXoffHold : 1;
|
||||
DWORD fXoffSent : 1;
|
||||
DWORD fEof : 1;
|
||||
DWORD fTxim : 1;
|
||||
DWORD fReserved : 25;
|
||||
DWORD cbInQue;
|
||||
DWORD cbOutQue;
|
||||
} FTCOMSTAT, *LPFTCOMSTAT;
|
||||
|
||||
typedef struct _FTDCB {
|
||||
DWORD DCBlength; /* sizeof(FTDCB) */
|
||||
DWORD BaudRate; /* Baudrate at which running */
|
||||
DWORD fBinary: 1; /* Binary Mode (skip EOF check) */
|
||||
DWORD fParity: 1; /* Enable parity checking */
|
||||
DWORD fOutxCtsFlow:1; /* CTS handshaking on output */
|
||||
DWORD fOutxDsrFlow:1; /* DSR handshaking on output */
|
||||
DWORD fDtrControl:2; /* DTR Flow control */
|
||||
DWORD fDsrSensitivity:1; /* DSR Sensitivity */
|
||||
DWORD fTXContinueOnXoff: 1; /* Continue TX when Xoff sent */
|
||||
DWORD fOutX: 1; /* Enable output X-ON/X-OFF */
|
||||
DWORD fInX: 1; /* Enable input X-ON/X-OFF */
|
||||
DWORD fErrorChar: 1; /* Enable Err Replacement */
|
||||
DWORD fNull: 1; /* Enable Null stripping */
|
||||
DWORD fRtsControl:2; /* Rts Flow control */
|
||||
DWORD fAbortOnError:1; /* Abort all reads and writes on Error */
|
||||
DWORD fDummy2:17; /* Reserved */
|
||||
WORD wReserved; /* Not currently used */
|
||||
WORD XonLim; /* Transmit X-ON threshold */
|
||||
WORD XoffLim; /* Transmit X-OFF threshold */
|
||||
BYTE ByteSize; /* Number of bits/byte, 4-8 */
|
||||
BYTE Parity; /* 0-4=None,Odd,Even,Mark,Space */
|
||||
BYTE StopBits; /* 0,1,2 = 1, 1.5, 2 */
|
||||
char XonChar; /* Tx and Rx X-ON character */
|
||||
char XoffChar; /* Tx and Rx X-OFF character */
|
||||
char ErrorChar; /* Error replacement char */
|
||||
char EofChar; /* End of Input character */
|
||||
char EvtChar; /* Received Event character */
|
||||
WORD wReserved1; /* Fill for now. */
|
||||
} FTDCB, *LPFTDCB;
|
||||
|
||||
typedef struct _FTTIMEOUTS {
|
||||
DWORD ReadIntervalTimeout; /* Maximum time between read chars. */
|
||||
DWORD ReadTotalTimeoutMultiplier; /* Multiplier of characters. */
|
||||
DWORD ReadTotalTimeoutConstant; /* Constant in milliseconds. */
|
||||
DWORD WriteTotalTimeoutMultiplier; /* Multiplier of characters. */
|
||||
DWORD WriteTotalTimeoutConstant; /* Constant in milliseconds. */
|
||||
} FTTIMEOUTS,*LPFTTIMEOUTS;
|
||||
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_ClearCommBreak(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_ClearCommError(
|
||||
FT_HANDLE ftHandle,
|
||||
LPDWORD lpdwErrors,
|
||||
LPFTCOMSTAT lpftComstat
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_EscapeCommFunction(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD dwFunc
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_GetCommModemStatus(
|
||||
FT_HANDLE ftHandle,
|
||||
LPDWORD lpdwModemStatus
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_GetCommState(
|
||||
FT_HANDLE ftHandle,
|
||||
LPFTDCB lpftDcb
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_GetCommTimeouts(
|
||||
FT_HANDLE ftHandle,
|
||||
FTTIMEOUTS *pTimeouts
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_PurgeComm(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD dwMask
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_SetCommBreak(
|
||||
FT_HANDLE ftHandle
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_SetCommMask(
|
||||
FT_HANDLE ftHandle,
|
||||
ULONG ulEventMask
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_GetCommMask(
|
||||
FT_HANDLE ftHandle,
|
||||
LPDWORD lpdwEventMask
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_SetCommState(
|
||||
FT_HANDLE ftHandle,
|
||||
LPFTDCB lpftDcb
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_SetCommTimeouts(
|
||||
FT_HANDLE ftHandle,
|
||||
FTTIMEOUTS *pTimeouts
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_SetupComm(
|
||||
FT_HANDLE ftHandle,
|
||||
DWORD dwReadBufferSize,
|
||||
DWORD dwWriteBufferSize
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
BOOL WINAPI FT_W32_WaitCommEvent(
|
||||
FT_HANDLE ftHandle,
|
||||
PULONG pulEvent,
|
||||
LPOVERLAPPED lpOverlapped
|
||||
);
|
||||
|
||||
|
||||
//
|
||||
// Device information
|
||||
//
|
||||
|
||||
typedef struct _ft_device_list_info_node {
|
||||
ULONG Flags;
|
||||
ULONG Type;
|
||||
ULONG ID;
|
||||
DWORD LocId;
|
||||
char SerialNumber[16];
|
||||
char Description[64];
|
||||
FT_HANDLE ftHandle;
|
||||
} FT_DEVICE_LIST_INFO_NODE;
|
||||
|
||||
// Device information flags
|
||||
enum {
|
||||
FT_FLAGS_OPENED = 1,
|
||||
FT_FLAGS_HISPEED = 2
|
||||
};
|
||||
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_CreateDeviceInfoList(
|
||||
LPDWORD lpdwNumDevs
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetDeviceInfoList(
|
||||
FT_DEVICE_LIST_INFO_NODE *pDest,
|
||||
LPDWORD lpdwNumDevs
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetDeviceInfoDetail(
|
||||
DWORD dwIndex,
|
||||
LPDWORD lpdwFlags,
|
||||
LPDWORD lpdwType,
|
||||
LPDWORD lpdwID,
|
||||
LPDWORD lpdwLocId,
|
||||
LPVOID lpSerialNumber,
|
||||
LPVOID lpDescription,
|
||||
FT_HANDLE *pftHandle
|
||||
);
|
||||
|
||||
|
||||
//
|
||||
// Version information
|
||||
//
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetDriverVersion(
|
||||
FT_HANDLE ftHandle,
|
||||
LPDWORD lpdwVersion
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetLibraryVersion(
|
||||
LPDWORD lpdwVersion
|
||||
);
|
||||
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_Rescan(
|
||||
void
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_Reload(
|
||||
WORD wVid,
|
||||
WORD wPid
|
||||
);
|
||||
|
||||
FTD2XX_API
|
||||
FT_STATUS WINAPI FT_GetComPortNumber(
|
||||
FT_HANDLE ftHandle,
|
||||
LPLONG lpdwComPortNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* FTD2XX_H */
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue