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