Fixed device object compile errors and added IPv6 recipes for blinkt and piface (#841)
This commit is contained in:
+81
-18
@@ -20,10 +20,10 @@ on:
|
|||||||
description: 'Environment to run tests against'
|
description: 'Environment to run tests against'
|
||||||
type: environment
|
type: environment
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
log-the-inputs:
|
log-the-inputs:
|
||||||
runs-on: raspios/base:latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- run: |
|
- run: |
|
||||||
echo "Log level: $LEVEL"
|
echo "Log level: $LEVEL"
|
||||||
@@ -32,44 +32,107 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
LEVEL: ${{ inputs.logLevel }}
|
LEVEL: ${{ inputs.logLevel }}
|
||||||
TAGS: ${{ inputs.tags }}
|
TAGS: ${{ inputs.tags }}
|
||||||
ENVIRONMENT: ${{ inputs.environment }}
|
ENVIRONMENT: ${{ inputs.environment }}
|
||||||
|
|
||||||
raspi-bip-apps:
|
raspi-bip-apps:
|
||||||
runs-on: raspios/base:latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Create Build Environment
|
- name: Create Build Environment
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update -qq
|
sudo apt-get update -qq
|
||||||
sudo apt-get install -qq libconfig-dev
|
sudo apt-get install -qq libconfig-dev
|
||||||
|
sudo apt-get install -qq gcc-arm-linux-gnueabihf
|
||||||
- name: Build Demo Apps
|
- name: Build Demo Apps
|
||||||
run: |
|
run: |
|
||||||
gcc --version
|
export CC=arm-linux-gnueabihf-gcc
|
||||||
|
export LD=arm-linux-gnueabihf-ld
|
||||||
|
arm-linux-gnueabihf-gcc --version
|
||||||
make clean
|
make clean
|
||||||
make all
|
make LEGACY=true all
|
||||||
|
|
||||||
piface:
|
piface:
|
||||||
runs-on: raspios/base:latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Checkout libmcp23s17 repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: piface/libmcp23s17
|
||||||
|
path: ./apps/piface/libmcp23s17
|
||||||
|
|
||||||
|
- name: Checkout libpifacedigital repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: piface/libpifacedigital
|
||||||
|
path: ./apps/piface/libpifacedigital
|
||||||
|
|
||||||
- name: Create Build Environment
|
- name: Create Build Environment
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update -qq
|
sudo apt-get update -qq
|
||||||
- name: Build Demo Apps
|
sudo apt-get install -qq gcc-arm-linux-gnueabihf
|
||||||
|
|
||||||
|
- name: Build libmcp23s17 library
|
||||||
run: |
|
run: |
|
||||||
gcc --version
|
arm-linux-gnueabihf-gcc --version
|
||||||
cd apps/piface && ./configure && cd ../../
|
cd apps/piface/libmcp23s17
|
||||||
|
make CC=arm-linux-gnueabihf-gcc
|
||||||
|
arm-linux-gnueabihf-ar rcs libmcp23s17.a src/mcp23s17.o
|
||||||
|
cd ../../../
|
||||||
|
|
||||||
|
- name: Build pifacedigital library
|
||||||
|
run: |
|
||||||
|
arm-linux-gnueabihf-gcc --version
|
||||||
|
cd apps/piface/libpifacedigital
|
||||||
|
make CC=arm-linux-gnueabihf-gcc
|
||||||
|
: # Use the arm-linux-gnueabihf-ar command to create a static library
|
||||||
|
arm-linux-gnueabihf-ar rcs libpifacedigital.a src/pifacedigital.o
|
||||||
|
cd ../../../
|
||||||
|
|
||||||
|
- name: Build Piface demo
|
||||||
|
run: |
|
||||||
|
arm-linux-gnueabihf-gcc --version
|
||||||
|
: # BACnet library uses environment CC and LD variables
|
||||||
|
CC=arm-linux-gnueabihf-gcc
|
||||||
|
LD=arm-linux-gnueabihf-ld
|
||||||
|
CROSS_PREFIX=arm-linux-gnueabihf-
|
||||||
make piface
|
make piface
|
||||||
|
|
||||||
blinkt:
|
blinkt:
|
||||||
runs-on: raspios/base:latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Checkout pigpio repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: joan2937/pigpio
|
||||||
|
path: ./apps/blinkt/pigpio
|
||||||
|
|
||||||
- name: Create Build Environment
|
- name: Create Build Environment
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update -qq
|
sudo apt-get update -qq
|
||||||
sudo apt-get install -qq libpigpio-dev libpigpiod-if-dev pigpiod
|
sudo apt-get install -qq gcc-arm-linux-gnueabihf
|
||||||
- name: Build Demo Apps
|
|
||||||
|
- name: Build Blinkt! pigpio library
|
||||||
run: |
|
run: |
|
||||||
gcc --version
|
arm-linux-gnueabihf-gcc --version
|
||||||
|
CROSS_PREFIX=arm-linux-gnueabihf-
|
||||||
|
DESTDIR="${HOME}/.local/bin"
|
||||||
|
cd apps/binkt/pigpio
|
||||||
|
make CROSS_PREFIX="${CROSS_PREFIX}" DESTDIR="${DESTDIR}" all install
|
||||||
|
cd ../../../
|
||||||
|
|
||||||
|
- name: Build Blinkt! demo
|
||||||
|
run: |
|
||||||
|
arm-linux-gnueabihf-gcc --version
|
||||||
|
: # BACnet library uses environment CC and LD variables
|
||||||
|
export CC=arm-linux-gnueabihf-gcc
|
||||||
|
export LD=arm-linux-gnueabihf-ld
|
||||||
|
export CROSS_PREFIX=arm-linux-gnueabihf-
|
||||||
make blinkt
|
make blinkt
|
||||||
|
|||||||
@@ -94,7 +94,11 @@ apdu:
|
|||||||
|
|
||||||
.PHONY: blinkt
|
.PHONY: blinkt
|
||||||
blinkt:
|
blinkt:
|
||||||
$(MAKE) -s -C apps $@
|
$(MAKE) LEGACY=true -C apps $@
|
||||||
|
|
||||||
|
.PHONY: blinkt6
|
||||||
|
blinkt6:
|
||||||
|
$(MAKE) LEGACY=true BACDL=bip6 -C apps blinkt
|
||||||
|
|
||||||
.PHONY: create-object
|
.PHONY: create-object
|
||||||
create-object:
|
create-object:
|
||||||
@@ -140,6 +144,10 @@ gateway-win32:
|
|||||||
piface:
|
piface:
|
||||||
$(MAKE) CSTANDARD="-std=gnu11" LEGACY=true -s -C apps $@
|
$(MAKE) CSTANDARD="-std=gnu11" LEGACY=true -s -C apps $@
|
||||||
|
|
||||||
|
.PHONY: piface6
|
||||||
|
piface6:
|
||||||
|
$(MAKE) CSTANDARD="-std=gnu11" BACDL=bip6 LEGACY=true -s -C apps piface
|
||||||
|
|
||||||
.PHONY: readbdt
|
.PHONY: readbdt
|
||||||
readbdt:
|
readbdt:
|
||||||
$(MAKE) -s -C apps $@
|
$(MAKE) -s -C apps $@
|
||||||
|
|||||||
+1
-1
@@ -289,7 +289,7 @@ apdu: $(BACNET_LIB_TARGET)
|
|||||||
|
|
||||||
.PHONY: blinkt
|
.PHONY: blinkt
|
||||||
blinkt:
|
blinkt:
|
||||||
$(MAKE) -C $@
|
$(MAKE) -B -C $@
|
||||||
|
|
||||||
.PHONY: create-object
|
.PHONY: create-object
|
||||||
create-object: $(BACNET_LIB_TARGET)
|
create-object: $(BACNET_LIB_TARGET)
|
||||||
|
|||||||
+12
-2
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
## General Flags
|
## General Flags
|
||||||
TARGET = bacblinkt
|
TARGET = bacblinkt
|
||||||
|
|
||||||
# BACnet objects that are used with this app
|
# BACnet objects that are used with this app
|
||||||
BACNET_OBJECT_DIR = $(BACNET_SRC_DIR)/bacnet/basic/object
|
BACNET_OBJECT_DIR = $(BACNET_SRC_DIR)/bacnet/basic/object
|
||||||
SRC = main.c \
|
SRC = main.c \
|
||||||
@@ -22,8 +23,17 @@ CFLAGS += -DMAX_TSM_TRANSACTIONS=1
|
|||||||
# TARGET_EXT is defined in apps/Makefile as .exe or nothing
|
# TARGET_EXT is defined in apps/Makefile as .exe or nothing
|
||||||
TARGET_BIN = ${TARGET}$(TARGET_EXT)
|
TARGET_BIN = ${TARGET}$(TARGET_EXT)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Set CROSS_PREFIX to prepend to all compiler tools at once for easier
|
||||||
|
# cross-compilation.
|
||||||
|
CROSS_PREFIX ?=
|
||||||
|
CC = $(CROSS_PREFIX)gcc
|
||||||
|
AR = $(CROSS_PREFIX)ar
|
||||||
|
RANLIB = $(CROSS_PREFIX)ranlib
|
||||||
|
SIZE = $(CROSS_PREFIX)size
|
||||||
|
|
||||||
# note: link to pigpio daemon so that our app can run without root
|
# note: link to pigpio daemon so that our app can run without root
|
||||||
# start pigio daemon with the command 'sudo pigpiod'
|
# start pigpio daemon with the command 'sudo pigpiod'
|
||||||
LD_PIGPIO = -Wl,-pthread,-lpigpiod_if2
|
LD_PIGPIO = -Wl,-pthread,-lpigpiod_if2
|
||||||
LFLAGS += $(LD_PIGPIO)
|
LFLAGS += $(LD_PIGPIO)
|
||||||
|
|
||||||
@@ -33,7 +43,7 @@ all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
|
|||||||
|
|
||||||
${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
|
${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
|
||||||
${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
|
${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
|
||||||
size $@
|
$(SIZE) $@
|
||||||
cp $@ ../../bin
|
cp $@ ../../bin
|
||||||
|
|
||||||
${BACNET_LIB_TARGET}:
|
${BACNET_LIB_TARGET}:
|
||||||
|
|||||||
@@ -40,10 +40,6 @@
|
|||||||
#include "bacnet/basic/object/color_temperature.h"
|
#include "bacnet/basic/object/color_temperature.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* local forward (semi-private) and external prototypes */
|
|
||||||
int Device_Read_Property_Local(BACNET_READ_PROPERTY_DATA *rpdata);
|
|
||||||
bool Device_Write_Property_Local(BACNET_WRITE_PROPERTY_DATA *wp_data);
|
|
||||||
|
|
||||||
/* may be overridden by outside table */
|
/* may be overridden by outside table */
|
||||||
static object_functions_t *Object_Table;
|
static object_functions_t *Object_Table;
|
||||||
|
|
||||||
@@ -924,7 +920,7 @@ int Device_Object_List_Element_Encode(
|
|||||||
* @return True on success or else False if not found.
|
* @return True on success or else False if not found.
|
||||||
*/
|
*/
|
||||||
bool Device_Valid_Object_Name(
|
bool Device_Valid_Object_Name(
|
||||||
BACNET_CHARACTER_STRING *object_name1,
|
const BACNET_CHARACTER_STRING *object_name1,
|
||||||
BACNET_OBJECT_TYPE *object_type,
|
BACNET_OBJECT_TYPE *object_type,
|
||||||
uint32_t *object_instance)
|
uint32_t *object_instance)
|
||||||
{
|
{
|
||||||
|
|||||||
+14
-2
@@ -13,6 +13,15 @@ SRC = main.c \
|
|||||||
$(BACNET_OBJECT_DIR)/blo.c \
|
$(BACNET_OBJECT_DIR)/blo.c \
|
||||||
$(BACNET_OBJECT_DIR)/bo.c
|
$(BACNET_OBJECT_DIR)/bo.c
|
||||||
|
|
||||||
|
# Set CROSS_PREFIX to prepend to all compiler tools at once for easier
|
||||||
|
# cross-compilation.
|
||||||
|
CROSS_PREFIX ?=
|
||||||
|
CC = $(CROSS_PREFIX)gcc
|
||||||
|
AR = $(CROSS_PREFIX)ar
|
||||||
|
RANLIB = $(CROSS_PREFIX)ranlib
|
||||||
|
SIZE = $(CROSS_PREFIX)size
|
||||||
|
STRIP = $(CROSS_PREFIX)strip
|
||||||
|
|
||||||
CFLAGS += -DMAX_TSM_TRANSACTIONS=1
|
CFLAGS += -DMAX_TSM_TRANSACTIONS=1
|
||||||
CFLAGS += -DMAX_BINARY_INPUTS=4
|
CFLAGS += -DMAX_BINARY_INPUTS=4
|
||||||
CFLAGS += -DMAX_BINARY_OUTPUTS=8
|
CFLAGS += -DMAX_BINARY_OUTPUTS=8
|
||||||
@@ -20,6 +29,9 @@ CFLAGS += -DMAX_BINARY_OUTPUTS=8
|
|||||||
# TARGET_EXT is defined in apps/Makefile as .exe or nothing
|
# TARGET_EXT is defined in apps/Makefile as .exe or nothing
|
||||||
TARGET_BIN = ${TARGET}$(TARGET_EXT)
|
TARGET_BIN = ${TARGET}$(TARGET_EXT)
|
||||||
|
|
||||||
|
# relies on the BACnet library
|
||||||
|
BACNET_LIB_DIR = $(realpath ../lib)
|
||||||
|
|
||||||
# Source locations
|
# Source locations
|
||||||
PIFACE_INCLUDE = libpifacedigital/src
|
PIFACE_INCLUDE = libpifacedigital/src
|
||||||
PIFACE_LIB = libpifacedigital
|
PIFACE_LIB = libpifacedigital
|
||||||
@@ -35,8 +47,8 @@ OBJS += ${SRC:.c=.o}
|
|||||||
all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
|
all: ${BACNET_LIB_TARGET} Makefile ${TARGET_BIN}
|
||||||
|
|
||||||
${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
|
${TARGET_BIN}: ${OBJS} Makefile ${BACNET_LIB_TARGET}
|
||||||
${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
|
$(CC) ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
|
||||||
size $@
|
$(SIZE) $@
|
||||||
cp $@ ../../bin
|
cp $@ ../../bin
|
||||||
|
|
||||||
${BACNET_LIB_TARGET}:
|
${BACNET_LIB_TARGET}:
|
||||||
|
|||||||
@@ -5,12 +5,12 @@
|
|||||||
|
|
||||||
if [ ! -d "libmcp23s17" ]
|
if [ ! -d "libmcp23s17" ]
|
||||||
then
|
then
|
||||||
git clone git@github.com:piface/libmcp23s17.git
|
git clone https://github.com/piface/libmcp23s17.git
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d "libpifacedigital" ]
|
if [ ! -d "libpifacedigital" ]
|
||||||
then
|
then
|
||||||
git clone git@github.com:piface/libpifacedigital.git
|
git clone https://github.com:piface/libpifacedigital.git
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build the library
|
# Build the library
|
||||||
|
|||||||
@@ -33,10 +33,6 @@
|
|||||||
#include "bacnet/basic/object/netport.h"
|
#include "bacnet/basic/object/netport.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* local forward (semi-private) and external prototypes */
|
|
||||||
int Device_Read_Property_Local(BACNET_READ_PROPERTY_DATA *rpdata);
|
|
||||||
bool Device_Write_Property_Local(BACNET_WRITE_PROPERTY_DATA *wp_data);
|
|
||||||
|
|
||||||
/* may be overridden by outside table */
|
/* may be overridden by outside table */
|
||||||
static object_functions_t *Object_Table;
|
static object_functions_t *Object_Table;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user