Seems RW access now works in esi file (but not in eeprom, does not genrate that info) = tested
This commit is contained in:
@@ -108,8 +108,8 @@
|
||||
"PLATFORMIO=60117",
|
||||
"STM32F407xx",
|
||||
"STM32F4",
|
||||
"NO_ECAT",
|
||||
"ADS1xxx",
|
||||
"ECAT",
|
||||
"ADC_MCP3221",
|
||||
"STM32F4xx",
|
||||
"ARDUINO=10808",
|
||||
"ARDUINO_ARCH_STM32",
|
||||
|
||||
@@ -360,11 +360,11 @@
|
||||
<BitSize>16</BitSize>
|
||||
</DataType>
|
||||
<DataType>
|
||||
<Name>REAL</Name>
|
||||
<Name>DINT</Name>
|
||||
<BitSize>32</BitSize>
|
||||
</DataType>
|
||||
<DataType>
|
||||
<Name>DINT</Name>
|
||||
<Name>REAL</Name>
|
||||
<BitSize>32</BitSize>
|
||||
</DataType>
|
||||
</DataTypes>
|
||||
@@ -457,7 +457,6 @@
|
||||
</SubItem>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
@@ -480,7 +479,6 @@
|
||||
</SubItem>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
@@ -503,7 +501,6 @@
|
||||
</SubItem>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
@@ -526,7 +523,6 @@
|
||||
</SubItem>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
@@ -549,7 +545,6 @@
|
||||
</SubItem>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
@@ -572,7 +567,6 @@
|
||||
</SubItem>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
@@ -595,7 +589,6 @@
|
||||
</SubItem>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
@@ -618,7 +611,6 @@
|
||||
</SubItem>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
@@ -659,7 +651,6 @@
|
||||
</SubItem>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
@@ -694,7 +685,6 @@
|
||||
</SubItem>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
@@ -735,31 +725,30 @@
|
||||
</SubItem>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
<Index>#x2000</Index>
|
||||
<Name>Scale</Name>
|
||||
<Type>REAL</Type>
|
||||
<BitSize>32</BitSize>
|
||||
<Name>I2C_devicetype</Name>
|
||||
<Type>USINT</Type>
|
||||
<BitSize>8</BitSize>
|
||||
<Info>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
<Access>rw</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
<Index>#x2001</Index>
|
||||
<Name>Offset</Name>
|
||||
<Type>REAL</Type>
|
||||
<BitSize>32</BitSize>
|
||||
<Name>I2C_address</Name>
|
||||
<Type>USINT</Type>
|
||||
<BitSize>8</BitSize>
|
||||
<Info>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Info>
|
||||
<Flags>
|
||||
<Access>ro</Access>
|
||||
<Access>rw</Access>
|
||||
</Flags>
|
||||
</Object>
|
||||
<Object>
|
||||
|
||||
@@ -36,21 +36,21 @@
|
||||
"sdo": {
|
||||
"2000": {
|
||||
"otype": "VAR",
|
||||
"name": "Scale",
|
||||
"access": "RO",
|
||||
"dtype": "REAL32",
|
||||
"name": "I2C_devicetype",
|
||||
"access": "RW",
|
||||
"dtype": "UNSIGNED8",
|
||||
"value": "0",
|
||||
"isSDOitem": true,
|
||||
"data": "&Obj.Scale"
|
||||
"data": "&Obj.I2C_devicetype"
|
||||
},
|
||||
"2001": {
|
||||
"otype": "VAR",
|
||||
"name": "Offset",
|
||||
"access": "RO",
|
||||
"dtype": "REAL32",
|
||||
"name": "I2C_address",
|
||||
"access": "RW",
|
||||
"dtype": "UNSIGNED8",
|
||||
"value": "0",
|
||||
"isSDOitem": true,
|
||||
"data": "&Obj.Offset"
|
||||
"data": "&Obj.I2C_address"
|
||||
},
|
||||
"A": {
|
||||
"otype": "RECORD",
|
||||
|
||||
@@ -51,8 +51,8 @@ static const char acName1C13_01[] = "PDO Mapping";
|
||||
static const char acName1C13_02[] = "PDO Mapping";
|
||||
static const char acName1C13_03[] = "PDO Mapping";
|
||||
static const char acName1C13_04[] = "PDO Mapping";
|
||||
static const char acName2000[] = "Scale";
|
||||
static const char acName2001[] = "Offset";
|
||||
static const char acName2000[] = "I2C_devicetype";
|
||||
static const char acName2001[] = "I2C_address";
|
||||
static const char acName6000[] = "Input12";
|
||||
static const char acName6001[] = "RawData";
|
||||
static const char acName6002[] = "CalculatedVoltage";
|
||||
@@ -145,11 +145,11 @@ const _objd SDO1C13[] =
|
||||
};
|
||||
const _objd SDO2000[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO, acName2000, 0x00000000, &Obj.Scale},
|
||||
{0x0, DTYPE_UNSIGNED8, 8, ATYPE_RW, acName2000, 0, &Obj.I2C_devicetype},
|
||||
};
|
||||
const _objd SDO2001[] =
|
||||
{
|
||||
{0x0, DTYPE_REAL32, 32, ATYPE_RO, acName2001, 0x00000000, &Obj.Offset},
|
||||
{0x0, DTYPE_UNSIGNED8, 8, ATYPE_RW, acName2001, 0, &Obj.I2C_address},
|
||||
};
|
||||
const _objd SDO6000[] =
|
||||
{
|
||||
|
||||
@@ -26,8 +26,8 @@ typedef struct
|
||||
|
||||
/* Parameters */
|
||||
|
||||
float Scale;
|
||||
float Offset;
|
||||
uint8_t I2C_devicetype;
|
||||
uint8_t I2C_address;
|
||||
} _Objects;
|
||||
|
||||
extern _Objects Obj;
|
||||
|
||||
@@ -18,7 +18,7 @@ debug_build_flags = -O0 -g -ggdb
|
||||
monitor_port = COM19
|
||||
monitor_filters = send_on_enter, time, colorize, log2file
|
||||
monitor_speed = 115200
|
||||
build_flags = -Wl,--no-warn-rwx-segment -DNO_ECAT -DADS1xxx
|
||||
build_flags = -Wl,--no-warn-rwx-segment -DECAT -DADC_MCP3221
|
||||
lib_deps =
|
||||
SPI
|
||||
pilotak/MCP3X21@^1.0.1
|
||||
|
||||
@@ -22,10 +22,10 @@ uint32_t I2C_restarts = 0;
|
||||
#include "Wire.h"
|
||||
TwoWire Wire2(PB11, PB10);
|
||||
|
||||
#ifdef MCP3221
|
||||
#ifdef ADC_MCP3221
|
||||
#include "MyMCP3221.h"
|
||||
MyMCP3221 mcp3221_0(0x48, &Wire2);
|
||||
MyMCP3221 mcp3221_7(0x4f, &Wire2);
|
||||
//MyMCP3221 mcp3221_7(0x4f, &Wire2);
|
||||
#endif
|
||||
#ifdef ADS1xxx
|
||||
#include "ADS1X15.h"
|
||||
@@ -64,7 +64,7 @@ void cb_get_inputs(void) // Set Master inputs, slave outputs, last operation
|
||||
float scale = Obj.VoltageScale;
|
||||
if (scale == 0.0)
|
||||
scale = 1.0;
|
||||
#ifdef MCP3221
|
||||
#ifdef ADC_MCP3221
|
||||
int data0 = mcp3221_0.getData();
|
||||
int stat = mcp3221_0.ping();
|
||||
#endif
|
||||
@@ -93,6 +93,7 @@ void cb_get_inputs(void) // Set Master inputs, slave outputs, last operation
|
||||
#endif
|
||||
}
|
||||
Obj.Status = I2C_restarts + (stat << 28); // Put status as bits 28-31, the lower are number of restarts (restart attempts)
|
||||
Obj.Status = Obj.I2C_devicetype + Obj.I2C_address;
|
||||
}
|
||||
|
||||
void ESC_interrupt_enable(uint32_t mask);
|
||||
@@ -153,7 +154,7 @@ void setup(void)
|
||||
ecat_slv_init(&config);
|
||||
#endif
|
||||
|
||||
#if 1 // Uncomment for commissioning tests
|
||||
#if 0 // Uncomment for commissioning tests
|
||||
digitalWrite(outputPin[0], HIGH); // All four output leds should go high
|
||||
digitalWrite(outputPin[1], HIGH);
|
||||
digitalWrite(outputPin[2], HIGH);
|
||||
@@ -173,7 +174,7 @@ void setup(void)
|
||||
}
|
||||
if (!nDevices)
|
||||
Serial1.printf("No devices\n");
|
||||
#ifdef MCP3221
|
||||
#ifdef ADC_MCP3221
|
||||
Serial1.printf("I2C status=%d rawdata=%d ", mcp3221_0.ping(), mcp3221_0.getData());
|
||||
#endif
|
||||
#ifdef ADS1xxx
|
||||
|
||||
Reference in New Issue
Block a user