WIP, non-functional

This commit is contained in:
Hakan Bastedt
2023-12-31 20:09:55 +01:00
parent bf8fccd0d6
commit 28f01a9919
6 changed files with 92 additions and 85 deletions

View File

@@ -52,12 +52,12 @@
<option value="INTEGER8">INTEGER8</option> <option value="INTEGER8">INTEGER8</option>
<option value="INTEGER16">INTEGER16</option> <option value="INTEGER16">INTEGER16</option>
<option value="INTEGER32">INTEGER32</option> <option value="INTEGER32">INTEGER32</option>
<option value="INTEGER32">INTEGER64</option> <option value="INTEGER64">INTEGER64</option>
<option value="UNSIGNED8">UNSIGNED8</option> <option value="UNSIGNED8">UNSIGNED8</option>
<option value="UNSIGNED16">UNSIGNED16</option> <option value="UNSIGNED16">UNSIGNED16</option>
<option value="UNSIGNED32">UNSIGNED64</option> <option value="UNSIGNED32">UNSIGNED64</option>
<option value="REAL32">REAL32</option> <option value="REAL32">REAL32</option>
<option value="REAL32">REAL64</option> <option value="REAL64">REAL64</option>
<option value="VISIBLE_STRING">VISIBLE STRING</option> <option value="VISIBLE_STRING">VISIBLE STRING</option>
</select></td> </select></td>
</tr> </tr>

View File

@@ -23,7 +23,7 @@
<DataTypes> <DataTypes>
<DataType> <DataType>
<Name>DT1018</Name> <Name>DT1018</Name>
<BitSize>144</BitSize> <BitSize>272</BitSize>
<SubItem> <SubItem>
<SubIdx>0</SubIdx> <SubIdx>0</SubIdx>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -37,8 +37,8 @@
<SubItem> <SubItem>
<SubIdx>1</SubIdx> <SubIdx>1</SubIdx>
<Name>Vendor ID</Name> <Name>Vendor ID</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>16</BitOffs> <BitOffs>16</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
@@ -47,9 +47,9 @@
<SubItem> <SubItem>
<SubIdx>2</SubIdx> <SubIdx>2</SubIdx>
<Name>Product Code</Name> <Name>Product Code</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>48</BitOffs> <BitOffs>80</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
</Flags> </Flags>
@@ -57,9 +57,9 @@
<SubItem> <SubItem>
<SubIdx>3</SubIdx> <SubIdx>3</SubIdx>
<Name>Revision Number</Name> <Name>Revision Number</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>80</BitOffs> <BitOffs>144</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
</Flags> </Flags>
@@ -67,9 +67,9 @@
<SubItem> <SubItem>
<SubIdx>4</SubIdx> <SubIdx>4</SubIdx>
<Name>Serial Number</Name> <Name>Serial Number</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>112</BitOffs> <BitOffs>208</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
</Flags> </Flags>
@@ -77,7 +77,7 @@
</DataType> </DataType>
<DataType> <DataType>
<Name>DT1600</Name> <Name>DT1600</Name>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<SubItem> <SubItem>
<SubIdx>0</SubIdx> <SubIdx>0</SubIdx>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -91,8 +91,8 @@
<SubItem> <SubItem>
<SubIdx>1</SubIdx> <SubIdx>1</SubIdx>
<Name>EncPosScale</Name> <Name>EncPosScale</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>16</BitOffs> <BitOffs>16</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
@@ -101,7 +101,7 @@
</DataType> </DataType>
<DataType> <DataType>
<Name>DT1601</Name> <Name>DT1601</Name>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<SubItem> <SubItem>
<SubIdx>0</SubIdx> <SubIdx>0</SubIdx>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -115,8 +115,8 @@
<SubItem> <SubItem>
<SubIdx>1</SubIdx> <SubIdx>1</SubIdx>
<Name>IndexLatchEnable</Name> <Name>IndexLatchEnable</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>16</BitOffs> <BitOffs>16</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
@@ -125,7 +125,7 @@
</DataType> </DataType>
<DataType> <DataType>
<Name>DT1602</Name> <Name>DT1602</Name>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<SubItem> <SubItem>
<SubIdx>0</SubIdx> <SubIdx>0</SubIdx>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -139,8 +139,8 @@
<SubItem> <SubItem>
<SubIdx>1</SubIdx> <SubIdx>1</SubIdx>
<Name>CommandedPosition</Name> <Name>CommandedPosition</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>16</BitOffs> <BitOffs>16</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
@@ -149,7 +149,7 @@
</DataType> </DataType>
<DataType> <DataType>
<Name>DT1A00</Name> <Name>DT1A00</Name>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<SubItem> <SubItem>
<SubIdx>0</SubIdx> <SubIdx>0</SubIdx>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -163,8 +163,8 @@
<SubItem> <SubItem>
<SubIdx>1</SubIdx> <SubIdx>1</SubIdx>
<Name>EncPos</Name> <Name>EncPos</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>16</BitOffs> <BitOffs>16</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
@@ -173,7 +173,7 @@
</DataType> </DataType>
<DataType> <DataType>
<Name>DT1A01</Name> <Name>DT1A01</Name>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<SubItem> <SubItem>
<SubIdx>0</SubIdx> <SubIdx>0</SubIdx>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -187,8 +187,8 @@
<SubItem> <SubItem>
<SubIdx>1</SubIdx> <SubIdx>1</SubIdx>
<Name>EncFrequency</Name> <Name>EncFrequency</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>16</BitOffs> <BitOffs>16</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
@@ -197,7 +197,7 @@
</DataType> </DataType>
<DataType> <DataType>
<Name>DT1A02</Name> <Name>DT1A02</Name>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<SubItem> <SubItem>
<SubIdx>0</SubIdx> <SubIdx>0</SubIdx>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -211,8 +211,8 @@
<SubItem> <SubItem>
<SubIdx>1</SubIdx> <SubIdx>1</SubIdx>
<Name>DiffT</Name> <Name>DiffT</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>16</BitOffs> <BitOffs>16</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
@@ -221,7 +221,7 @@
</DataType> </DataType>
<DataType> <DataType>
<Name>DT1A03</Name> <Name>DT1A03</Name>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<SubItem> <SubItem>
<SubIdx>0</SubIdx> <SubIdx>0</SubIdx>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -235,8 +235,8 @@
<SubItem> <SubItem>
<SubIdx>1</SubIdx> <SubIdx>1</SubIdx>
<Name>IndexByte</Name> <Name>IndexByte</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>16</BitOffs> <BitOffs>16</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
@@ -245,7 +245,7 @@
</DataType> </DataType>
<DataType> <DataType>
<Name>DT1A04</Name> <Name>DT1A04</Name>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<SubItem> <SubItem>
<SubIdx>0</SubIdx> <SubIdx>0</SubIdx>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -259,8 +259,8 @@
<SubItem> <SubItem>
<SubIdx>1</SubIdx> <SubIdx>1</SubIdx>
<Name>IndexStatus</Name> <Name>IndexStatus</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>16</BitOffs> <BitOffs>16</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
@@ -269,7 +269,7 @@
</DataType> </DataType>
<DataType> <DataType>
<Name>DT1A05</Name> <Name>DT1A05</Name>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<SubItem> <SubItem>
<SubIdx>0</SubIdx> <SubIdx>0</SubIdx>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -283,8 +283,8 @@
<SubItem> <SubItem>
<SubIdx>1</SubIdx> <SubIdx>1</SubIdx>
<Name>ActualPosition</Name> <Name>ActualPosition</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<BitOffs>16</BitOffs> <BitOffs>16</BitOffs>
<Flags> <Flags>
<Access>ro</Access> <Access>ro</Access>
@@ -438,8 +438,8 @@
</SubItem> </SubItem>
</DataType> </DataType>
<DataType> <DataType>
<Name>UDINT</Name> <Name>ULINT</Name>
<BitSize>32</BitSize> <BitSize>64</BitSize>
</DataType> </DataType>
<DataType> <DataType>
<Name>STRING(26)</Name> <Name>STRING(26)</Name>
@@ -461,6 +461,10 @@
<Name>REAL</Name> <Name>REAL</Name>
<BitSize>32</BitSize> <BitSize>32</BitSize>
</DataType> </DataType>
<DataType>
<Name>UDINT</Name>
<BitSize>32</BitSize>
</DataType>
<DataType> <DataType>
<Name>DINT</Name> <Name>DINT</Name>
<BitSize>32</BitSize> <BitSize>32</BitSize>
@@ -470,8 +474,8 @@
<Object> <Object>
<Index>#x1000</Index> <Index>#x1000</Index>
<Name>Device Type</Name> <Name>Device Type</Name>
<Type>UDINT</Type> <Type>ULINT</Type>
<BitSize>32</BitSize> <BitSize>64</BitSize>
<Info> <Info>
<DefaultValue>5001</DefaultValue> <DefaultValue>5001</DefaultValue>
</Info> </Info>
@@ -521,7 +525,7 @@
<Index>#x1018</Index> <Index>#x1018</Index>
<Name>Identity Object</Name> <Name>Identity Object</Name>
<Type>DT1018</Type> <Type>DT1018</Type>
<BitSize>144</BitSize> <BitSize>272</BitSize>
<Info> <Info>
<SubItem> <SubItem>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -562,7 +566,7 @@
<Index>#x1600</Index> <Index>#x1600</Index>
<Name>EncPosScale</Name> <Name>EncPosScale</Name>
<Type>DT1600</Type> <Type>DT1600</Type>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<Info> <Info>
<SubItem> <SubItem>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -585,7 +589,7 @@
<Index>#x1601</Index> <Index>#x1601</Index>
<Name>IndexLatchEnable</Name> <Name>IndexLatchEnable</Name>
<Type>DT1601</Type> <Type>DT1601</Type>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<Info> <Info>
<SubItem> <SubItem>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -608,7 +612,7 @@
<Index>#x1602</Index> <Index>#x1602</Index>
<Name>StepGenIn1</Name> <Name>StepGenIn1</Name>
<Type>DT1602</Type> <Type>DT1602</Type>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<Info> <Info>
<SubItem> <SubItem>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -631,7 +635,7 @@
<Index>#x1A00</Index> <Index>#x1A00</Index>
<Name>EncPos</Name> <Name>EncPos</Name>
<Type>DT1A00</Type> <Type>DT1A00</Type>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<Info> <Info>
<SubItem> <SubItem>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -654,7 +658,7 @@
<Index>#x1A01</Index> <Index>#x1A01</Index>
<Name>EncFrequency</Name> <Name>EncFrequency</Name>
<Type>DT1A01</Type> <Type>DT1A01</Type>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<Info> <Info>
<SubItem> <SubItem>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -677,7 +681,7 @@
<Index>#x1A02</Index> <Index>#x1A02</Index>
<Name>DiffT</Name> <Name>DiffT</Name>
<Type>DT1A02</Type> <Type>DT1A02</Type>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<Info> <Info>
<SubItem> <SubItem>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -700,7 +704,7 @@
<Index>#x1A03</Index> <Index>#x1A03</Index>
<Name>IndexByte</Name> <Name>IndexByte</Name>
<Type>DT1A03</Type> <Type>DT1A03</Type>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<Info> <Info>
<SubItem> <SubItem>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -723,7 +727,7 @@
<Index>#x1A04</Index> <Index>#x1A04</Index>
<Name>IndexStatus</Name> <Name>IndexStatus</Name>
<Type>DT1A04</Type> <Type>DT1A04</Type>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<Info> <Info>
<SubItem> <SubItem>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -744,9 +748,9 @@
</Object> </Object>
<Object> <Object>
<Index>#x1A05</Index> <Index>#x1A05</Index>
<Name>StepgenOut1</Name> <Name>StepGenOut1</Name>
<Type>DT1A05</Type> <Type>DT1A05</Type>
<BitSize>48</BitSize> <BitSize>80</BitSize>
<Info> <Info>
<SubItem> <SubItem>
<Name>Max SubIndex</Name> <Name>Max SubIndex</Name>
@@ -961,7 +965,7 @@
</Object> </Object>
<Object> <Object>
<Index>#x6005</Index> <Index>#x6005</Index>
<Name>StepgenOut1</Name> <Name>StepGenOut1</Name>
<Type>DT6005</Type> <Type>DT6005</Type>
<BitSize>48</BitSize> <BitSize>48</BitSize>
<Info> <Info>
@@ -1131,7 +1135,7 @@
</TxPdo> </TxPdo>
<TxPdo Fixed="true" Mandatory="true" Sm="3"> <TxPdo Fixed="true" Mandatory="true" Sm="3">
<Index>#x1A05</Index> <Index>#x1A05</Index>
<Name>StepgenOut1</Name> <Name>StepGenOut1</Name>
<Entry> <Entry>
<Index>#x6005</Index> <Index>#x6005</Index>
<SubIndex>#x1</SubIndex> <SubIndex>#x1</SubIndex>

View File

@@ -107,7 +107,7 @@
}, },
"6005": { "6005": {
"otype": "RECORD", "otype": "RECORD",
"name": "StepgenOut1", "name": "StepGenOut1",
"access": "RO", "access": "RO",
"items": [ "items": [
{ {
@@ -116,7 +116,7 @@
{ {
"name": "ActualPosition", "name": "ActualPosition",
"dtype": "INTEGER32", "dtype": "INTEGER32",
"data": "&Obj.StepgenOut1.ActualPosition", "data": "&Obj.StepGenOut1.ActualPosition",
"value": "0", "value": "0",
"access": "RO" "access": "RO"
} }

View File

@@ -37,7 +37,7 @@ static const char acName1A03_01[] = "IndexByte";
static const char acName1A04[] = "IndexStatus"; static const char acName1A04[] = "IndexStatus";
static const char acName1A04_00[] = "Max SubIndex"; static const char acName1A04_00[] = "Max SubIndex";
static const char acName1A04_01[] = "IndexStatus"; static const char acName1A04_01[] = "IndexStatus";
static const char acName1A05[] = "StepgenOut1"; static const char acName1A05[] = "StepGenOut1";
static const char acName1A05_00[] = "Max SubIndex"; static const char acName1A05_00[] = "Max SubIndex";
static const char acName1A05_01[] = "ActualPosition"; static const char acName1A05_01[] = "ActualPosition";
static const char acName1C00[] = "Sync Manager Communication Type"; static const char acName1C00[] = "Sync Manager Communication Type";
@@ -64,7 +64,7 @@ static const char acName6001[] = "EncFrequency";
static const char acName6002[] = "DiffT"; static const char acName6002[] = "DiffT";
static const char acName6003[] = "IndexByte"; static const char acName6003[] = "IndexByte";
static const char acName6004[] = "IndexStatus"; static const char acName6004[] = "IndexStatus";
static const char acName6005[] = "StepgenOut1"; static const char acName6005[] = "StepGenOut1";
static const char acName6005_00[] = "Max SubIndex"; static const char acName6005_00[] = "Max SubIndex";
static const char acName6005_01[] = "ActualPosition"; static const char acName6005_01[] = "ActualPosition";
static const char acName7000[] = "EncPosScale"; static const char acName7000[] = "EncPosScale";
@@ -75,7 +75,7 @@ static const char acName7002_01[] = "CommandedPosition";
const _objd SDO1000[] = const _objd SDO1000[] =
{ {
{0x0, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1000, 5001, NULL}, {0x0, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1000, 5001, NULL},
}; };
const _objd SDO1008[] = const _objd SDO1008[] =
{ {
@@ -92,55 +92,55 @@ const _objd SDO100A[] =
const _objd SDO1018[] = const _objd SDO1018[] =
{ {
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1018_00, 4, NULL}, {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1018_00, 4, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_01, 2730, NULL}, {0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1018_01, 2730, NULL},
{0x02, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_02, 12303564, NULL}, {0x02, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1018_02, 12303564, NULL},
{0x03, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_03, 2, NULL}, {0x03, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1018_03, 2, NULL},
{0x04, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_04, 1, &Obj.serial}, {0x04, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1018_04, 1, &Obj.serial},
}; };
const _objd SDO1600[] = const _objd SDO1600[] =
{ {
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1600_00, 1, NULL}, {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1600_00, 1, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1600_01, 0x70000020, NULL}, {0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1600_01, 0x70000020, NULL},
}; };
const _objd SDO1601[] = const _objd SDO1601[] =
{ {
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1601_00, 1, NULL}, {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1601_00, 1, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1601_01, 0x70010020, NULL}, {0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1601_01, 0x70010020, NULL},
}; };
const _objd SDO1602[] = const _objd SDO1602[] =
{ {
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1602_00, 1, NULL}, {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1602_00, 1, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1602_01, 0x70020120, NULL}, {0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1602_01, 0x70020120, NULL},
}; };
const _objd SDO1A00[] = const _objd SDO1A00[] =
{ {
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A00_00, 1, NULL}, {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A00_00, 1, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A00_01, 0x60000020, NULL}, {0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A00_01, 0x60000020, NULL},
}; };
const _objd SDO1A01[] = const _objd SDO1A01[] =
{ {
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A01_00, 1, NULL}, {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A01_00, 1, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A01_01, 0x60010020, NULL}, {0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A01_01, 0x60010020, NULL},
}; };
const _objd SDO1A02[] = const _objd SDO1A02[] =
{ {
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A02_00, 1, NULL}, {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A02_00, 1, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A02_01, 0x60020020, NULL}, {0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A02_01, 0x60020020, NULL},
}; };
const _objd SDO1A03[] = const _objd SDO1A03[] =
{ {
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A03_00, 1, NULL}, {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A03_00, 1, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A03_01, 0x60030020, NULL}, {0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A03_01, 0x60030020, NULL},
}; };
const _objd SDO1A04[] = const _objd SDO1A04[] =
{ {
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A04_00, 1, NULL}, {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A04_00, 1, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A04_01, 0x60040020, NULL}, {0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A04_01, 0x60040020, NULL},
}; };
const _objd SDO1A05[] = const _objd SDO1A05[] =
{ {
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A05_00, 1, NULL}, {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A05_00, 1, NULL},
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A05_01, 0x60050120, NULL}, {0x01, DTYPE_UNSIGNED64, 64, ATYPE_RO, acName1A05_01, 0x60050120, NULL},
}; };
const _objd SDO1C00[] = const _objd SDO1C00[] =
{ {
@@ -190,7 +190,7 @@ const _objd SDO6004[] =
const _objd SDO6005[] = const _objd SDO6005[] =
{ {
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName6005_00, 1, NULL}, {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName6005_00, 1, NULL},
{0x01, DTYPE_INTEGER32, 32, ATYPE_RO, acName6005_01, 0, &Obj.StepgenOut1.ActualPosition}, {0x01, DTYPE_INTEGER32, 32, ATYPE_RO, acName6005_01, 0, &Obj.StepGenOut1.ActualPosition},
}; };
const _objd SDO7000[] = const _objd SDO7000[] =
{ {

View File

@@ -21,7 +21,7 @@ typedef struct
struct struct
{ {
int32_t ActualPosition; int32_t ActualPosition;
} StepgenOut1; } StepGenOut1;
/* Outputs */ /* Outputs */

View File

@@ -86,7 +86,7 @@ uint16_t dc_checker(void);
static esc_cfg_t config = static esc_cfg_t config =
{ {
.user_arg = NULL, .user_arg = NULL,
.use_interrupt = 1, .use_interrupt = 0,
.watchdog_cnt = 150, .watchdog_cnt = 150,
.set_defaults_hook = NULL, .set_defaults_hook = NULL,
.pre_state_change_hook = NULL, .pre_state_change_hook = NULL,
@@ -97,10 +97,13 @@ static esc_cfg_t config =
.post_object_download_hook = NULL, .post_object_download_hook = NULL,
.rxpdo_override = NULL, .rxpdo_override = NULL,
.txpdo_override = NULL, .txpdo_override = NULL,
.esc_hw_interrupt_enable = ESC_interrupt_enable, //.esc_hw_interrupt_enable = ESC_interrupt_enable,
.esc_hw_interrupt_disable = ESC_interrupt_disable, //.esc_hw_interrupt_disable = ESC_interrupt_disable,
.esc_hw_interrupt_enable = NULL,
.esc_hw_interrupt_disable = NULL,
.esc_hw_eep_handler = NULL, .esc_hw_eep_handler = NULL,
.esc_check_dc_handler = dc_checker, // .esc_check_dc_handler = dc_checker,
.esc_check_dc_handler = NULL,
}; };
void setup(void) void setup(void)
@@ -161,13 +164,13 @@ volatile int32_t requestedPosition;
volatile uint32_t pulsesToGo = 0; volatile uint32_t pulsesToGo = 0;
volatile byte forwardDirection = 0; // 1 if going forward volatile byte forwardDirection = 0; // 1 if going forward
#define STEPPER_DIR PA12 #define STEPPER_DIR PA12
//#define STEPPER_STEP PA11 // Set in StepperSetup // #define STEPPER_STEP PA11 // Set in StepperSetup
void sync0Handler(void) void sync0Handler(void)
{ {
// Update the actual position // Update the actual position
actualPosition += pulsesToGo; actualPosition += pulsesToGo;
Obj.StepgenOut1.ActualPosition = actualPosition; Obj.StepGenOut1.ActualPosition = actualPosition;
// Get new end position // Get new end position
requestedPosition = Obj.StepGenIn1.CommandedPosition; requestedPosition = Obj.StepGenIn1.CommandedPosition;
// Get the diff and the direction // Get the diff and the direction
@@ -176,7 +179,7 @@ void sync0Handler(void)
// Set direction pin // Set direction pin
digitalWrite(STEPPER_DIR, forwardDirection); // I think one should really wait a bit when changed digitalWrite(STEPPER_DIR, forwardDirection); // I think one should really wait a bit when changed
// Make the pulses using hardware timer // Make the pulses using hardware timer
makePulses(sync0CycleTime/1000, pulsesToGo); makePulses(sync0CycleTime / 1000, pulsesToGo);
} }
void ESC_interrupt_enable(uint32_t mask) void ESC_interrupt_enable(uint32_t mask)