Add simple demo for Raspberry Pi
Add a demo application for Raspberry Pi with a LAN9252-based EtherCat hat, such as with the SG Electronics Systems EtherBerry.pull/103/head
parent
b3e2a0a2c1
commit
98a90d61ea
|
@ -0,0 +1,8 @@
|
|||
|
||||
add_executable (soes-demo
|
||||
main.c
|
||||
slave_objectlist.c
|
||||
)
|
||||
target_link_libraries(soes-demo LINK_PUBLIC soes bcm2835)
|
||||
install (TARGETS soes-demo DESTINATION sbin)
|
||||
install (PROGRAMS S60soes DESTINATION /etc/init.d)
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# soes Starts soes.
|
||||
#
|
||||
|
||||
start() {
|
||||
printf "Starting soes: "
|
||||
/usr/sbin/soes-demo &
|
||||
touch /var/lock/soes-demo
|
||||
echo "OK"
|
||||
}
|
||||
stop() {
|
||||
printf "Stopping soes: "
|
||||
killall soes-demo
|
||||
rm -f /var/lock/soes-demo
|
||||
echo "OK"
|
||||
}
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart|reload)
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
#ifndef __ECAT_OPTIONS_H__
|
||||
#define __ECAT_OPTIONS_H__
|
||||
|
||||
#define USE_FOE 1
|
||||
#define USE_EOE 0
|
||||
|
||||
#define MBXSIZE 128
|
||||
#define MBXSIZEBOOT 128
|
||||
#define MBXBUFFERS 3
|
||||
|
||||
#define MBX0_sma 0x1000
|
||||
#define MBX0_sml MBXSIZE
|
||||
#define MBX0_sme MBX0_sma+MBX0_sml-1
|
||||
#define MBX0_smc 0x26
|
||||
#define MBX1_sma MBX0_sma+MBX0_sml
|
||||
#define MBX1_sml MBXSIZE
|
||||
#define MBX1_sme MBX1_sma+MBX1_sml-1
|
||||
#define MBX1_smc 0x22
|
||||
|
||||
#define MBX0_sma_b 0x1000
|
||||
#define MBX0_sml_b MBXSIZEBOOT
|
||||
#define MBX0_sme_b MBX0_sma_b+MBX0_sml_b-1
|
||||
#define MBX0_smc_b 0x26
|
||||
#define MBX1_sma_b MBX0_sma_b+MBX0_sml_b
|
||||
#define MBX1_sml_b MBXSIZEBOOT
|
||||
#define MBX1_sme_b MBX1_sma_b+MBX1_sml_b-1
|
||||
#define MBX1_smc_b 0x22
|
||||
|
||||
#define SM2_sma 0x1100
|
||||
#define SM2_smc 0x24
|
||||
#define SM2_act 1
|
||||
#define SM3_sma 0x1180
|
||||
#define SM3_smc 0x20
|
||||
#define SM3_act 1
|
||||
|
||||
#define MAX_MAPPINGS_SM2 7
|
||||
#define MAX_MAPPINGS_SM3 7
|
||||
|
||||
#define MAX_RXPDO_SIZE 42
|
||||
#define MAX_TXPDO_SIZE 42
|
||||
|
||||
#endif /* __ECAT_OPTIONS_H__ */
|
|
@ -0,0 +1,108 @@
|
|||
#include <stdio.h>
|
||||
#include "ecat_slv.h"
|
||||
#include "utypes.h"
|
||||
#include <bcm2835.h>
|
||||
|
||||
/* Application variables */
|
||||
_Objects Obj;
|
||||
|
||||
#define GPIO21 RPI_BPLUS_GPIO_J8_40
|
||||
#define GPIO20 RPI_BPLUS_GPIO_J8_38
|
||||
#define GPIO16 RPI_BPLUS_GPIO_J8_36
|
||||
#define GPIO12 RPI_BPLUS_GPIO_J8_32
|
||||
#define GPIO24 RPI_BPLUS_GPIO_J8_18
|
||||
#define GPIO23 RPI_BPLUS_GPIO_J8_16
|
||||
#define GPIO26 RPI_BPLUS_GPIO_J8_37
|
||||
#define GPIO19 RPI_BPLUS_GPIO_J8_35
|
||||
#define GPIO13 RPI_BPLUS_GPIO_J8_33
|
||||
#define GPIO06 RPI_BPLUS_GPIO_J8_31
|
||||
#define GPIO05 RPI_BPLUS_GPIO_J8_29
|
||||
#define GPIO22 RPI_BPLUS_GPIO_J8_15
|
||||
|
||||
void cb_get_inputs (void)
|
||||
{
|
||||
// Assume LEDs connected to 3.3v
|
||||
bcm2835_gpio_write(GPIO21, (Obj.LEDs.LED0 ? LOW : HIGH));
|
||||
bcm2835_gpio_write(GPIO20, (Obj.LEDs.LED1 ? LOW : HIGH));
|
||||
bcm2835_gpio_write(GPIO16, (Obj.LEDs.LED2 ? LOW : HIGH));
|
||||
bcm2835_gpio_write(GPIO12, (Obj.LEDs.LED3 ? LOW : HIGH));
|
||||
bcm2835_gpio_write(GPIO24, (Obj.LEDs.LED4 ? LOW : HIGH));
|
||||
bcm2835_gpio_write(GPIO23, (Obj.LEDs.LED5 ? LOW : HIGH));
|
||||
}
|
||||
|
||||
void cb_set_outputs (void)
|
||||
{
|
||||
// Assume Buttons connected to 3.3v
|
||||
Obj.Buttons.Button0 = bcm2835_gpio_lev(GPIO26);
|
||||
Obj.Buttons.Button0 = bcm2835_gpio_lev(GPIO19);
|
||||
Obj.Buttons.Button0 = bcm2835_gpio_lev(GPIO13);
|
||||
Obj.Buttons.Button0 = bcm2835_gpio_lev(GPIO06);
|
||||
Obj.Buttons.Button0 = bcm2835_gpio_lev(GPIO05);
|
||||
Obj.Buttons.Button0 = bcm2835_gpio_lev(GPIO22);
|
||||
}
|
||||
|
||||
void GPIO_init (void)
|
||||
{
|
||||
bcm2835_init();
|
||||
// Assume LEDs connected to 3.3v side of header
|
||||
bcm2835_gpio_fsel(GPIO21, BCM2835_GPIO_FSEL_OUTP);
|
||||
bcm2835_gpio_fsel(GPIO20, BCM2835_GPIO_FSEL_OUTP);
|
||||
bcm2835_gpio_fsel(GPIO16, BCM2835_GPIO_FSEL_OUTP);
|
||||
bcm2835_gpio_fsel(GPIO12, BCM2835_GPIO_FSEL_OUTP);
|
||||
bcm2835_gpio_fsel(GPIO24, BCM2835_GPIO_FSEL_OUTP);
|
||||
bcm2835_gpio_fsel(GPIO23, BCM2835_GPIO_FSEL_OUTP);
|
||||
// Assume buttons connected to 5v side of header
|
||||
// Do not bridge to 5v, the ports might burn
|
||||
bcm2835_gpio_fsel(GPIO26, BCM2835_GPIO_FSEL_INPT);
|
||||
bcm2835_gpio_fsel(GPIO19, BCM2835_GPIO_FSEL_INPT);
|
||||
bcm2835_gpio_fsel(GPIO13, BCM2835_GPIO_FSEL_INPT);
|
||||
bcm2835_gpio_fsel(GPIO06, BCM2835_GPIO_FSEL_INPT);
|
||||
bcm2835_gpio_fsel(GPIO05, BCM2835_GPIO_FSEL_INPT);
|
||||
bcm2835_gpio_fsel(GPIO22, BCM2835_GPIO_FSEL_INPT);
|
||||
bcm2835_gpio_set_pud(GPIO26, BCM2835_GPIO_PUD_DOWN);
|
||||
bcm2835_gpio_set_pud(GPIO19, BCM2835_GPIO_PUD_DOWN);
|
||||
bcm2835_gpio_set_pud(GPIO13, BCM2835_GPIO_PUD_DOWN);
|
||||
bcm2835_gpio_set_pud(GPIO06, BCM2835_GPIO_PUD_DOWN);
|
||||
bcm2835_gpio_set_pud(GPIO05, BCM2835_GPIO_PUD_DOWN);
|
||||
bcm2835_gpio_set_pud(GPIO22, BCM2835_GPIO_PUD_DOWN);
|
||||
}
|
||||
|
||||
int main_run (void * arg)
|
||||
{
|
||||
static esc_cfg_t config =
|
||||
{
|
||||
.user_arg = "rpi3,cs0",
|
||||
.use_interrupt = 0,
|
||||
.watchdog_cnt = 150,
|
||||
.set_defaults_hook = NULL,
|
||||
.pre_state_change_hook = NULL,
|
||||
.post_state_change_hook = NULL,
|
||||
.application_hook = NULL,
|
||||
.safeoutput_override = NULL,
|
||||
.pre_object_download_hook = NULL,
|
||||
.post_object_download_hook = NULL,
|
||||
.rxpdo_override = NULL,
|
||||
.txpdo_override = NULL,
|
||||
.esc_hw_interrupt_enable = NULL,
|
||||
.esc_hw_interrupt_disable = NULL,
|
||||
.esc_hw_eep_handler = NULL,
|
||||
.esc_check_dc_handler = NULL,
|
||||
};
|
||||
|
||||
printf ("Hello Main\n");
|
||||
GPIO_init();
|
||||
ecat_slv_init (&config);
|
||||
while (1)
|
||||
{
|
||||
ecat_slv();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main (void)
|
||||
{
|
||||
printf ("Hello Main\n");
|
||||
main_run (NULL);
|
||||
return 0;
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1,532 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Slave xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="com.rtlabs.emf.esx" fileVersion="2" id="evb9252_dig" productCode="1234" additionalInfo="0x0190">
|
||||
<Name>lan9252</Name>
|
||||
<Vendor>
|
||||
<Id>0x1337</Id>
|
||||
<Name>rt-labs AB</Name>
|
||||
</Vendor>
|
||||
<Group>
|
||||
<Type>lan9252_spi</Type>
|
||||
<Name>lan9252</Name>
|
||||
</Group>
|
||||
<Fmmu>Outputs</Fmmu>
|
||||
<Fmmu>Inputs</Fmmu>
|
||||
<Sm ControlByte="0x26" DefaultSize="128" StartAddress="0x1000">MBoxOut</Sm>
|
||||
<Sm ControlByte="0x22" DefaultSize="128" StartAddress="0x1080">MBoxIn</Sm>
|
||||
<Sm ControlByte="0x24" DefaultSize="0" StartAddress="0x1100">Outputs</Sm>
|
||||
<Sm ControlByte="0x20" DefaultSize="0" StartAddress="0x1180">Inputs</Sm>
|
||||
<Mailbox CoE="true" FoE="true">
|
||||
<Bootstrap Length="128" Start="0x1000"/>
|
||||
<Standard Length="128" Start="0x1000"/>
|
||||
</Mailbox>
|
||||
<Eeprom Lan9252="true">
|
||||
<ConfigData>8002000000000000</ConfigData>
|
||||
<BootStrap>0010800080108000</BootStrap>
|
||||
</Eeprom>
|
||||
<Dictionary>
|
||||
<Item Managed="true">
|
||||
<Index>0x1000</Index>
|
||||
<Name>Device Type</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x01901389</DefaultValue>
|
||||
</Item>
|
||||
<Item Managed="true">
|
||||
<Index>0x1008</Index>
|
||||
<Name>Device Name</Name>
|
||||
<DataType>VISIBLE_STRING</DataType>
|
||||
<DefaultValue>evb9252_dig</DefaultValue>
|
||||
<Length>11</Length>
|
||||
</Item>
|
||||
<Item Managed="false">
|
||||
<Index>0x1009</Index>
|
||||
<Name>Hardware Version</Name>
|
||||
<DataType>VISIBLE_STRING</DataType>
|
||||
<DefaultValue>1.0</DefaultValue>
|
||||
</Item>
|
||||
<Item Managed="false">
|
||||
<Index>0x100A</Index>
|
||||
<Name>Software Version</Name>
|
||||
<DataType>VISIBLE_STRING</DataType>
|
||||
<DefaultValue>1.0</DefaultValue>
|
||||
</Item>
|
||||
<Item Managed="true">
|
||||
<Index>0x1018</Index>
|
||||
<Name>Identity Object</Name>
|
||||
<DataType>RECORD</DataType>
|
||||
<SubItem>
|
||||
<Index>0x00</Index>
|
||||
<Name>Max SubIndex</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>4</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x01</Index>
|
||||
<Name>Vendor ID</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x1337</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x02</Index>
|
||||
<Name>Product Code</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>1234</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x03</Index>
|
||||
<Name>Revision Number</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x04</Index>
|
||||
<Name>Serial Number</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x00000000</DefaultValue>
|
||||
</SubItem>
|
||||
</Item>
|
||||
<Item Managed="true">
|
||||
<Index>0x1600</Index>
|
||||
<Name>LEDs</Name>
|
||||
<DataType>RECORD</DataType>
|
||||
<SubItem>
|
||||
<Index>0x00</Index>
|
||||
<Name>Max SubIndex</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>9</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x01</Index>
|
||||
<Name>LED0</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x70000108</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x02</Index>
|
||||
<Name>LED1</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x70000208</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x03</Index>
|
||||
<Name>New Member</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x70000301</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x04</Index>
|
||||
<Name>New Member</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x70000401</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x05</Index>
|
||||
<Name>New Member</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x70000501</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x06</Index>
|
||||
<Name>New Member</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x70000601</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x07</Index>
|
||||
<Name>New Member</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x70000701</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x08</Index>
|
||||
<Name>New Member</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x70000801</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x09</Index>
|
||||
<Name>Padding 9</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x00000002</DefaultValue>
|
||||
</SubItem>
|
||||
</Item>
|
||||
<Item Managed="true">
|
||||
<Index>0x1A00</Index>
|
||||
<Name>Buttons</Name>
|
||||
<DataType>RECORD</DataType>
|
||||
<SubItem>
|
||||
<Index>0x00</Index>
|
||||
<Name>Max SubIndex</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>1</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x01</Index>
|
||||
<Name>Button1</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0x60000108</DefaultValue>
|
||||
</SubItem>
|
||||
</Item>
|
||||
<Item Managed="true">
|
||||
<Index>0x1C00</Index>
|
||||
<Name>Sync Manager Communication Type</Name>
|
||||
<DataType>ARRAY</DataType>
|
||||
<SubItem>
|
||||
<Index>0x00</Index>
|
||||
<Name>Max SubIndex</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>4</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x01</Index>
|
||||
<Name>Communications Type SM0</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>1</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x02</Index>
|
||||
<Name>Communications Type SM1</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>2</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x03</Index>
|
||||
<Name>Communications Type SM2</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>3</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x04</Index>
|
||||
<Name>Communications Type SM3</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>4</DefaultValue>
|
||||
</SubItem>
|
||||
</Item>
|
||||
<Item Managed="true">
|
||||
<Index>0x1C12</Index>
|
||||
<Name>Sync Manager 2 PDO Assignment</Name>
|
||||
<DataType>ARRAY</DataType>
|
||||
<SubItem>
|
||||
<Index>0x00</Index>
|
||||
<Name>Max SubIndex</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>1</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x01</Index>
|
||||
<Name>PDO Mapping</Name>
|
||||
<DataType>UNSIGNED16</DataType>
|
||||
<DefaultValue>0x1600</DefaultValue>
|
||||
</SubItem>
|
||||
</Item>
|
||||
<Item Managed="true">
|
||||
<Index>0x1C13</Index>
|
||||
<Name>Sync Manager 3 PDO Assignment</Name>
|
||||
<DataType>ARRAY</DataType>
|
||||
<SubItem>
|
||||
<Index>0x00</Index>
|
||||
<Name>Max SubIndex</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>1</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x01</Index>
|
||||
<Name>PDO Mapping</Name>
|
||||
<DataType>UNSIGNED16</DataType>
|
||||
<DefaultValue>0x1A00</DefaultValue>
|
||||
</SubItem>
|
||||
</Item>
|
||||
<Item Managed="true">
|
||||
<Index>0x6000</Index>
|
||||
<Name>Buttons</Name>
|
||||
<DataType>RECORD</DataType>
|
||||
<Variable>Buttons</Variable>
|
||||
<VariableType>Input</VariableType>
|
||||
<SubItem>
|
||||
<Index>0x00</Index>
|
||||
<Name>Max SubIndex</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>1</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x01</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>Button1</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<Variable>Button1</Variable>
|
||||
<VariableType>Input</VariableType>
|
||||
</SubItem>
|
||||
</Item>
|
||||
<Item Managed="true">
|
||||
<Index>0x7000</Index>
|
||||
<Name>LEDs</Name>
|
||||
<DataType>RECORD</DataType>
|
||||
<Variable>LEDs</Variable>
|
||||
<VariableType>Output</VariableType>
|
||||
<SubItem>
|
||||
<Index>0x00</Index>
|
||||
<Name>Max SubIndex</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>8</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x01</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>LED0</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<Variable>LED0</Variable>
|
||||
<VariableType>Output</VariableType>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x02</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>LED1</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<Variable>LED1</Variable>
|
||||
<VariableType>Output</VariableType>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x03</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>New Member</Name>
|
||||
<DataType>BOOLEAN</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
<Variable>New_Member</Variable>
|
||||
<VariableType>Output</VariableType>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x04</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>New Member</Name>
|
||||
<DataType>BOOLEAN</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
<Variable>New_Member</Variable>
|
||||
<VariableType>Output</VariableType>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x05</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>New Member</Name>
|
||||
<DataType>BOOLEAN</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
<Variable>New_Member</Variable>
|
||||
<VariableType>Output</VariableType>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x06</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>New Member</Name>
|
||||
<DataType>BOOLEAN</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
<Variable>New_Member</Variable>
|
||||
<VariableType>Output</VariableType>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x07</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>New Member</Name>
|
||||
<DataType>BOOLEAN</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
<Variable>New_Member</Variable>
|
||||
<VariableType>Output</VariableType>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x08</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>New Member</Name>
|
||||
<DataType>BOOLEAN</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
<Variable>New_Member</Variable>
|
||||
<VariableType>Output</VariableType>
|
||||
</SubItem>
|
||||
</Item>
|
||||
<Item Managed="true">
|
||||
<Index>0x8000</Index>
|
||||
<Name>Parameters</Name>
|
||||
<DataType>RECORD</DataType>
|
||||
<Variable>Parameters</Variable>
|
||||
<VariableType>Parameter</VariableType>
|
||||
<SubItem>
|
||||
<Index>0x00</Index>
|
||||
<Name>Max SubIndex</Name>
|
||||
<DataType>UNSIGNED8</DataType>
|
||||
<DefaultValue>1</DefaultValue>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Index>0x01</Index>
|
||||
<Access>RW</Access>
|
||||
<Name>Multiplier</Name>
|
||||
<DataType>UNSIGNED32</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<Variable>Multiplier</Variable>
|
||||
<VariableType>Parameter</VariableType>
|
||||
</SubItem>
|
||||
</Item>
|
||||
</Dictionary>
|
||||
<SmAssignment>
|
||||
<Index>0x1C12</Index>
|
||||
<Entry>
|
||||
<Index>0x01</Index>
|
||||
<AssignedPdo>0x1600</AssignedPdo>
|
||||
</Entry>
|
||||
</SmAssignment>
|
||||
<SmAssignment>
|
||||
<Index>0x1C13</Index>
|
||||
<Entry>
|
||||
<Index>0x01</Index>
|
||||
<AssignedPdo>0x1A00</AssignedPdo>
|
||||
</Entry>
|
||||
</SmAssignment>
|
||||
<RxPdo>
|
||||
<Index>0x1600</Index>
|
||||
<Name>LEDs</Name>
|
||||
<Entry>
|
||||
<Index>0x1</Index>
|
||||
<MappedIndex>0x7000</MappedIndex>
|
||||
<MappedSubIndex>0x01</MappedSubIndex>
|
||||
<Variable>LED0</Variable>
|
||||
</Entry>
|
||||
<Entry>
|
||||
<Index>0x2</Index>
|
||||
<MappedIndex>0x7000</MappedIndex>
|
||||
<MappedSubIndex>0x02</MappedSubIndex>
|
||||
<Variable>LED1</Variable>
|
||||
</Entry>
|
||||
<Entry>
|
||||
<Index>0x3</Index>
|
||||
<MappedIndex>0x7000</MappedIndex>
|
||||
<MappedSubIndex>0x03</MappedSubIndex>
|
||||
<Variable>LED2</Variable>
|
||||
</Entry>
|
||||
<Entry>
|
||||
<Index>0x4</Index>
|
||||
<MappedIndex>0x7000</MappedIndex>
|
||||
<MappedSubIndex>0x04</MappedSubIndex>
|
||||
<Variable>LED3</Variable>
|
||||
</Entry>
|
||||
<Entry>
|
||||
<Index>0x5</Index>
|
||||
<MappedIndex>0x7000</MappedIndex>
|
||||
<MappedSubIndex>0x05</MappedSubIndex>
|
||||
<Variable>LED4</Variable>
|
||||
</Entry>
|
||||
<Entry>
|
||||
<Index>0x6</Index>
|
||||
<MappedIndex>0x7000</MappedIndex>
|
||||
<MappedSubIndex>0x06</MappedSubIndex>
|
||||
<Variable>LED5</Variable>
|
||||
</Entry>
|
||||
<Entry padBits="2">
|
||||
<Index>0x09</Index>
|
||||
</Entry>
|
||||
</RxPdo>
|
||||
<TxPdo>
|
||||
<Index>0x1A00</Index>
|
||||
<Name>Buttons</Name>
|
||||
<Entry>
|
||||
<Index>0x1</Index>
|
||||
<MappedIndex>0x6000</MappedIndex>
|
||||
<MappedSubIndex>0x01</MappedSubIndex>
|
||||
<Variable>Button0</Variable>
|
||||
</Entry>
|
||||
</TxPdo>
|
||||
<Input>
|
||||
<Index>0x6000</Index>
|
||||
<Name>Buttons</Name>
|
||||
<ObjectType>RECORD</ObjectType>
|
||||
<Member>
|
||||
<Index>0x01</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>Button0</Name>
|
||||
<Type>BOOLEAN</Type>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<PdoMapping>TX</PdoMapping>
|
||||
</Member>
|
||||
<Member>
|
||||
<Index>0x02</Index>
|
||||
<Name>Button1</Name>
|
||||
<PdoMapping>TX</PdoMapping>
|
||||
</Member>
|
||||
<Member>
|
||||
<Index>0x03</Index>
|
||||
<Name>Button2</Name>
|
||||
<PdoMapping>TX</PdoMapping>
|
||||
</Member>
|
||||
<Member>
|
||||
<Index>0x04</Index>
|
||||
<Name>Button3</Name>
|
||||
<PdoMapping>TX</PdoMapping>
|
||||
</Member>
|
||||
<Member>
|
||||
<Index>0x05</Index>
|
||||
<Name>Button4</Name>
|
||||
<PdoMapping>TX</PdoMapping>
|
||||
</Member>
|
||||
<Member>
|
||||
<Index>0x06</Index>
|
||||
<Name>Button5</Name>
|
||||
<PdoMapping>TX</PdoMapping>
|
||||
</Member>
|
||||
</Input>
|
||||
<Output>
|
||||
<Index>0x7000</Index>
|
||||
<Name>LEDs</Name>
|
||||
<ObjectType>RECORD</ObjectType>
|
||||
<Member>
|
||||
<Index>0x01</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>LED0</Name>
|
||||
<Type>BOOLEAN</Type>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
</Member>
|
||||
<Member>
|
||||
<Index>0x02</Index>
|
||||
<Access>RO</Access>
|
||||
<Name>LED1</Name>
|
||||
<Type>BOOLEAN</Type>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
</Member>
|
||||
<Member>
|
||||
<Index>0x03</Index>
|
||||
<Name>LED2</Name>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
</Member>
|
||||
<Member>
|
||||
<Index>0x04</Index>
|
||||
<Name>LED3</Name>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
</Member>
|
||||
<Member>
|
||||
<Index>0x05</Index>
|
||||
<Name>LED4</Name>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
</Member>
|
||||
<Member>
|
||||
<Index>0x06</Index>
|
||||
<Name>LED5</Name>
|
||||
<PdoMapping>RX</PdoMapping>
|
||||
</Member>
|
||||
</Output>
|
||||
<Parameter>
|
||||
<Index>0x8000</Index>
|
||||
<Name>Parameters</Name>
|
||||
<ObjectType>RECORD</ObjectType>
|
||||
<Member>
|
||||
<Index>0x01</Index>
|
||||
<Access>RW</Access>
|
||||
<Name>Multiplier</Name>
|
||||
<Type>UNSIGNED32</Type>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Member>
|
||||
</Parameter>
|
||||
</Slave>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,179 @@
|
|||
#include "esc_coe.h"
|
||||
#include "utypes.h"
|
||||
#include <stddef.h>
|
||||
|
||||
#ifndef HW_REV
|
||||
#define HW_REV "1.0"
|
||||
#endif
|
||||
|
||||
#ifndef SW_REV
|
||||
#define SW_REV "1.0"
|
||||
#endif
|
||||
|
||||
static const char acName1000[] = "Device Type";
|
||||
static const char acName1008[] = "Device Name";
|
||||
static const char acName1009[] = "Hardware Version";
|
||||
static const char acName100A[] = "Software Version";
|
||||
static const char acName1018[] = "Identity Object";
|
||||
static const char acName1018_00[] = "Max SubIndex";
|
||||
static const char acName1018_01[] = "Vendor ID";
|
||||
static const char acName1018_02[] = "Product Code";
|
||||
static const char acName1018_03[] = "Revision Number";
|
||||
static const char acName1018_04[] = "Serial Number";
|
||||
static const char acName1600[] = "LEDs";
|
||||
static const char acName1600_00[] = "Max SubIndex";
|
||||
static const char acName1600_01[] = "LED0";
|
||||
static const char acName1600_02[] = "LED1";
|
||||
static const char acName1600_03[] = "LED2";
|
||||
static const char acName1600_04[] = "LED3";
|
||||
static const char acName1600_05[] = "LED4";
|
||||
static const char acName1600_06[] = "LED5";
|
||||
static const char acName1600_07[] = "Padding 7";
|
||||
static const char acName1A00[] = "Buttons";
|
||||
static const char acName1A00_00[] = "Max SubIndex";
|
||||
static const char acName1A00_01[] = "Button0";
|
||||
static const char acName1A00_02[] = "Button1";
|
||||
static const char acName1A00_03[] = "Button2";
|
||||
static const char acName1A00_04[] = "Button3";
|
||||
static const char acName1A00_05[] = "Button4";
|
||||
static const char acName1A00_06[] = "Button5";
|
||||
static const char acName1A00_07[] = "Padding 7";
|
||||
static const char acName1C00[] = "Sync Manager Communication Type";
|
||||
static const char acName1C00_00[] = "Max SubIndex";
|
||||
static const char acName1C00_01[] = "Communications Type SM0";
|
||||
static const char acName1C00_02[] = "Communications Type SM1";
|
||||
static const char acName1C00_03[] = "Communications Type SM2";
|
||||
static const char acName1C00_04[] = "Communications Type SM3";
|
||||
static const char acName1C12[] = "Sync Manager 2 PDO Assignment";
|
||||
static const char acName1C12_00[] = "Max SubIndex";
|
||||
static const char acName1C12_01[] = "PDO Mapping";
|
||||
static const char acName1C13[] = "Sync Manager 3 PDO Assignment";
|
||||
static const char acName1C13_00[] = "Max SubIndex";
|
||||
static const char acName1C13_01[] = "PDO Mapping";
|
||||
static const char acName6000[] = "Buttons";
|
||||
static const char acName6000_00[] = "Max SubIndex";
|
||||
static const char acName6000_01[] = "Button0";
|
||||
static const char acName6000_02[] = "Button1";
|
||||
static const char acName6000_03[] = "Button2";
|
||||
static const char acName6000_04[] = "Button3";
|
||||
static const char acName6000_05[] = "Button4";
|
||||
static const char acName6000_06[] = "Button5";
|
||||
static const char acName7000[] = "LEDs";
|
||||
static const char acName7000_00[] = "Max SubIndex";
|
||||
static const char acName7000_01[] = "LED0";
|
||||
static const char acName7000_02[] = "LED1";
|
||||
static const char acName7000_03[] = "LED2";
|
||||
static const char acName7000_04[] = "LED3";
|
||||
static const char acName7000_05[] = "LED4";
|
||||
static const char acName7000_06[] = "LED5";
|
||||
static const char acName8000[] = "Parameters";
|
||||
static const char acName8000_00[] = "Max SubIndex";
|
||||
static const char acName8000_01[] = "Multiplier";
|
||||
|
||||
const _objd SDO1000[] =
|
||||
{
|
||||
{0x0, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1000, 0x01901389, NULL},
|
||||
};
|
||||
const _objd SDO1008[] =
|
||||
{
|
||||
{0x0, DTYPE_VISIBLE_STRING, 88, ATYPE_RO, acName1008, 0, "evb9252_dig"},
|
||||
};
|
||||
const _objd SDO1009[] =
|
||||
{
|
||||
{0x0, DTYPE_VISIBLE_STRING, 0, ATYPE_RO, acName1009, 0, HW_REV},
|
||||
};
|
||||
const _objd SDO100A[] =
|
||||
{
|
||||
{0x0, DTYPE_VISIBLE_STRING, 0, ATYPE_RO, acName100A, 0, SW_REV},
|
||||
};
|
||||
const _objd SDO1018[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1018_00, 4, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_01, 0x1337, NULL},
|
||||
{0x02, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_02, 1234, NULL},
|
||||
{0x03, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_03, 0, NULL},
|
||||
{0x04, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1018_04, 0x00000000, &Obj.serial},
|
||||
};
|
||||
const _objd SDO1600[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1600_00, 7, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1600_01, 0x70000101, NULL},
|
||||
{0x02, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1600_02, 0x70000201, NULL},
|
||||
{0x03, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1600_03, 0x70000301, NULL},
|
||||
{0x04, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1600_04, 0x70000401, NULL},
|
||||
{0x05, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1600_05, 0x70000501, NULL},
|
||||
{0x06, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1600_06, 0x70000601, NULL},
|
||||
{0x07, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1600_07, 0x00000002, NULL},
|
||||
};
|
||||
const _objd SDO1A00[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A00_00, 7, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A00_01, 0x60000101, NULL},
|
||||
{0x02, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A00_02, 0x60000201, NULL},
|
||||
{0x03, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A00_03, 0x60000301, NULL},
|
||||
{0x04, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A00_04, 0x60000401, NULL},
|
||||
{0x05, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A00_05, 0x60000501, NULL},
|
||||
{0x06, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A00_06, 0x60000601, NULL},
|
||||
{0x07, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A00_07, 0x00000002, NULL},
|
||||
};
|
||||
const _objd SDO1C00[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C00_00, 4, NULL},
|
||||
{0x01, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C00_01, 1, NULL},
|
||||
{0x02, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C00_02, 2, NULL},
|
||||
{0x03, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C00_03, 3, NULL},
|
||||
{0x04, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C00_04, 4, NULL},
|
||||
};
|
||||
const _objd SDO1C12[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C12_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_01, 0x1600, NULL},
|
||||
};
|
||||
const _objd SDO1C13[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C13_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C13_01, 0x1A00, NULL},
|
||||
};
|
||||
const _objd SDO6000[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName6000_00, 6, NULL},
|
||||
{0x01, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_TXPDO, acName6000_01, 0, &Obj.Buttons.Button0},
|
||||
{0x02, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_TXPDO, acName6000_02, 0, &Obj.Buttons.Button1},
|
||||
{0x03, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_TXPDO, acName6000_03, 0, &Obj.Buttons.Button2},
|
||||
{0x04, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_TXPDO, acName6000_04, 0, &Obj.Buttons.Button3},
|
||||
{0x05, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_TXPDO, acName6000_05, 0, &Obj.Buttons.Button4},
|
||||
{0x06, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_TXPDO, acName6000_06, 0, &Obj.Buttons.Button5},
|
||||
};
|
||||
const _objd SDO7000[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName7000_00, 6, NULL},
|
||||
{0x01, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_RXPDO, acName7000_01, 0, &Obj.LEDs.LED0},
|
||||
{0x02, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_RXPDO, acName7000_02, 0, &Obj.LEDs.LED1},
|
||||
{0x03, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_RXPDO, acName7000_03, 0, &Obj.LEDs.LED2},
|
||||
{0x04, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_RXPDO, acName7000_04, 0, &Obj.LEDs.LED3},
|
||||
{0x05, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_RXPDO, acName7000_05, 0, &Obj.LEDs.LED4},
|
||||
{0x06, DTYPE_BOOLEAN, 1, ATYPE_RO | ATYPE_RXPDO, acName7000_06, 0, &Obj.LEDs.LED5},
|
||||
};
|
||||
const _objd SDO8000[] =
|
||||
{
|
||||
{0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName8000_00, 1, NULL},
|
||||
{0x01, DTYPE_UNSIGNED32, 32, ATYPE_RW, acName8000_01, 0, &Obj.Parameters.Multiplier},
|
||||
};
|
||||
|
||||
const _objectlist SDOobjects[] =
|
||||
{
|
||||
{0x1000, OTYPE_VAR, 0, 0, acName1000, SDO1000},
|
||||
{0x1008, OTYPE_VAR, 0, 0, acName1008, SDO1008},
|
||||
{0x1009, OTYPE_VAR, 0, 0, acName1009, SDO1009},
|
||||
{0x100A, OTYPE_VAR, 0, 0, acName100A, SDO100A},
|
||||
{0x1018, OTYPE_RECORD, 4, 0, acName1018, SDO1018},
|
||||
{0x1600, OTYPE_RECORD, 7, 0, acName1600, SDO1600},
|
||||
{0x1A00, OTYPE_RECORD, 7, 0, acName1A00, SDO1A00},
|
||||
{0x1C00, OTYPE_ARRAY, 4, 0, acName1C00, SDO1C00},
|
||||
{0x1C12, OTYPE_ARRAY, 1, 0, acName1C12, SDO1C12},
|
||||
{0x1C13, OTYPE_ARRAY, 1, 0, acName1C13, SDO1C13},
|
||||
{0x6000, OTYPE_RECORD, 6, 0, acName6000, SDO6000},
|
||||
{0x7000, OTYPE_RECORD, 6, 0, acName7000, SDO7000},
|
||||
{0x8000, OTYPE_RECORD, 1, 0, acName8000, SDO8000},
|
||||
{0xffff, 0xff, 0xff, 0xff, NULL, NULL}
|
||||
};
|
|
@ -0,0 +1,49 @@
|
|||
#ifndef __UTYPES_H__
|
||||
#define __UTYPES_H__
|
||||
|
||||
#include "cc.h"
|
||||
|
||||
/* Object dictionary storage */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* Identity */
|
||||
|
||||
uint32_t serial;
|
||||
|
||||
/* Inputs */
|
||||
|
||||
struct
|
||||
{
|
||||
uint8_t Button0;
|
||||
uint8_t Button1;
|
||||
uint8_t Button2;
|
||||
uint8_t Button3;
|
||||
uint8_t Button4;
|
||||
uint8_t Button5;
|
||||
} Buttons;
|
||||
|
||||
/* Outputs */
|
||||
|
||||
struct
|
||||
{
|
||||
uint8_t LED0;
|
||||
uint8_t LED1;
|
||||
uint8_t LED2;
|
||||
uint8_t LED3;
|
||||
uint8_t LED4;
|
||||
uint8_t LED5;
|
||||
} LEDs;
|
||||
|
||||
/* Parameters */
|
||||
|
||||
struct
|
||||
{
|
||||
uint32_t Multiplier;
|
||||
} Parameters;
|
||||
|
||||
} _Objects;
|
||||
|
||||
extern _Objects Obj;
|
||||
|
||||
#endif /* __UTYPES_H__ */
|
|
@ -1,14 +1,20 @@
|
|||
|
||||
set(SOES_DEMO applications/linux_lan9252demo)
|
||||
if(RPI_VARIANT)
|
||||
set (SOES_DEMO applications/raspberry_lan9252demo)
|
||||
set(HAL_SOURCES
|
||||
${SOES_SOURCE_DIR}/soes/hal/raspberrypi-lan9252/esc_hw.c
|
||||
${SOES_SOURCE_DIR}/soes/hal/raspberrypi-lan9252/esc_hw.h
|
||||
)
|
||||
else()
|
||||
set(SOES_DEMO applications/linux_lan9252demo)
|
||||
set(HAL_SOURCES
|
||||
${SOES_SOURCE_DIR}/soes/hal/linux-lan9252/esc_hw.c
|
||||
)
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
${SOES_SOURCE_DIR}/soes/include/sys/gcc
|
||||
${SOES_SOURCE_DIR}/${SOES_DEMO}
|
||||
)
|
||||
|
||||
set(HAL_SOURCES
|
||||
${SOES_SOURCE_DIR}/soes/hal/linux-lan9252/esc_hw.c
|
||||
)
|
||||
|
||||
# Common compile flags
|
||||
add_compile_options(-Wall -Wextra -Wno-unused-parameter -Werror)
|
||||
|
|
Loading…
Reference in New Issue