Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,15 @@ option(OPT_OSDP_STATIC_PD "Setup PD single statically" OFF)
option(OPT_OSDP_LIB_ONLY "Only build the library" OFF)
option(OPT_BUILD_BARE_METAL "Build library for bare metal targets" OFF)

## OSDP Protocol Configuration Constants
set(OSDP_PD_SC_RETRY_MS "600000" CACHE STRING "PD Secure Channel retry timeout (ms)")
set(OSDP_PD_SC_TIMEOUT_MS "8000" CACHE STRING "PD Secure Channel timeout (ms)")
set(OSDP_PD_ONLINE_TOUT_MS "8000" CACHE STRING "PD online timeout (ms)")
set(OSDP_CMD_MAX_RETRIES "8" CACHE STRING "Maximum command retries")
set(OSDP_ONLINE_RETRY_WAIT_MAX_MS "300000" CACHE STRING "Maximum online retry wait (ms)")
set(OSDP_CMD_RETRY_WAIT_MS "800" CACHE STRING "Command retry wait (ms)")
set(OSDP_FILE_ERROR_RETRY_MAX "10" CACHE STRING "File transfer error retry max")

## Includes
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(AddCCompilerFlag)
Expand Down
37 changes: 37 additions & 0 deletions configure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,15 @@ usage() {
-d, --debug Enable debug builds
-f, --force Use this flags to override some checks
-h, --help Print this help

OSDP Protocol Configuration:
--osdp-pd-sc-retry-ms MS Set OSDP_PD_SC_RETRY_MS (default: 600000)
--osdp-pd-sc-timeout-ms MS Set OSDP_PD_SC_TIMEOUT_MS (default: 8000)
--osdp-pd-online-tout-ms MS Set OSDP_PD_ONLINE_TOUT_MS (default: 8000)
--osdp-cmd-max-retries N Set OSDP_CMD_MAX_RETRIES (default: 8)
--osdp-online-retry-wait-max-ms MS Set OSDP_ONLINE_RETRY_WAIT_MAX_MS (default: 300000)
--osdp-cmd-retry-wait-ms MS Set OSDP_CMD_RETRY_WAIT_MS (default: 800)
--osdp-file-error-retry-max N Set OSDP_FILE_ERROR_RETRY_MAX (default: 10)
---
}

Expand All @@ -49,6 +58,20 @@ while [ $# -gt 0 ]; do
--static-pd) STATIC_PD=1;;
--lib-only) LIB_ONLY=1;;
--build-dir) BUILD_DIR=$2; shift;;
--osdp-pd-sc-retry-ms) OSDP_PD_SC_RETRY_MS=$2; shift;;
--osdp-pd-sc-timeout-ms) OSDP_PD_SC_TIMEOUT_MS=$2; shift;;
--osdp-pd-online-tout-ms) OSDP_PD_ONLINE_TOUT_MS=$2; shift;;
--osdp-cmd-max-retries) OSDP_CMD_MAX_RETRIES=$2; shift;;
--osdp-online-retry-wait-max-ms) OSDP_ONLINE_RETRY_WAIT_MAX_MS=$2; shift;;
--osdp-cmd-retry-wait-ms) OSDP_CMD_RETRY_WAIT_MS=$2; shift;;
--osdp-file-error-retry-max) OSDP_FILE_ERROR_RETRY_MAX=$2; shift;;
--osdp-pd-sc-retry-ms) OSDP_PD_SC_RETRY_MS=$2; shift;;
--osdp-pd-sc-timeout-ms) OSDP_PD_SC_TIMEOUT_MS=$2; shift;;
--osdp-pd-online-tout-ms) OSDP_PD_ONLINE_TOUT_MS=$2; shift;;
--osdp-cmd-max-retries) OSDP_CMD_MAX_RETRIES=$2; shift;;
--osdp-online-retry-wait-max-ms) OSDP_ONLINE_RETRY_WAIT_MAX_MS=$2; shift;;
--osdp-cmd-retry-wait-ms) OSDP_CMD_RETRY_WAIT_MS=$2; shift;;
--osdp-file-error-retry-max) OSDP_FILE_ERROR_RETRY_MAX=$2; shift;;
-d|--debug) DEBUG=1;;
-f|--force) FORCE=1;;
-h|--help) usage; exit 0;;
Expand Down Expand Up @@ -193,6 +216,20 @@ sed -e "s|@PROJECT_VERSION@|${PROJECT_VERSION}|" \
-e "s|@GIT_TAG@|${GIT_TAG}|" \
-e "s|@GIT_DIFF@|${GIT_DIFF}|" \
-e "s|@REPO_ROOT@|${SCRIPT_DIR}|" \
-e "s|@OSDP_PD_SC_RETRY_MS@|${OSDP_PD_SC_RETRY_MS:-600000}|" \
-e "s|@OSDP_PD_SC_TIMEOUT_MS@|${OSDP_PD_SC_TIMEOUT_MS:-8000}|" \
-e "s|@OSDP_PD_ONLINE_TOUT_MS@|${OSDP_PD_ONLINE_TOUT_MS:-8000}|" \
-e "s|@OSDP_CMD_MAX_RETRIES@|${OSDP_CMD_MAX_RETRIES:-8}|" \
-e "s|@OSDP_ONLINE_RETRY_WAIT_MAX_MS@|${OSDP_ONLINE_RETRY_WAIT_MAX_MS:-300000}|" \
-e "s|@OSDP_CMD_RETRY_WAIT_MS@|${OSDP_CMD_RETRY_WAIT_MS:-800}|" \
-e "s|@OSDP_FILE_ERROR_RETRY_MAX@|${OSDP_FILE_ERROR_RETRY_MAX:-10}|" \
-e "s|@OSDP_PD_SC_RETRY_MS@|${OSDP_PD_SC_RETRY_MS:-600000}|" \
-e "s|@OSDP_PD_SC_TIMEOUT_MS@|${OSDP_PD_SC_TIMEOUT_MS:-8000}|" \
-e "s|@OSDP_PD_ONLINE_TOUT_MS@|${OSDP_PD_ONLINE_TOUT_MS:-8000}|" \
-e "s|@OSDP_CMD_MAX_RETRIES@|${OSDP_CMD_MAX_RETRIES:-8}|" \
-e "s|@OSDP_ONLINE_RETRY_WAIT_MAX_MS@|${OSDP_ONLINE_RETRY_WAIT_MAX_MS:-300000}|" \
-e "s|@OSDP_CMD_RETRY_WAIT_MS@|${OSDP_CMD_RETRY_WAIT_MS:-800}|" \
-e "s|@OSDP_FILE_ERROR_RETRY_MAX@|${OSDP_FILE_ERROR_RETRY_MAX:-10}|" \
src/osdp_config.h.in > ${BUILD_DIR}/include/osdp_config.h

CCFLAGS+=" -I${BUILD_DIR}/include"
Expand Down
8 changes: 8 additions & 0 deletions python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,14 @@ def try_vendor_sources(src_dir, src_files, vendor_dir):
"GIT_TAG": git["tag"],
"GIT_DIFF": git["diff"],
"REPO_ROOT": git["root"],
# OSDP Configuration Constants (must match CMakeLists.txt defaults)
"OSDP_PD_SC_RETRY_MS": "600000",
"OSDP_PD_SC_TIMEOUT_MS": "8000",
"OSDP_PD_ONLINE_TOUT_MS": "8000",
"OSDP_CMD_MAX_RETRIES": "8",
"OSDP_ONLINE_RETRY_WAIT_MAX_MS": "300000",
"OSDP_CMD_RETRY_WAIT_MS": "800",
"OSDP_FILE_ERROR_RETRY_MAX": "10",
})

utils_sources = [
Expand Down
16 changes: 8 additions & 8 deletions src/osdp_config.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,22 @@
/**
* @brief Other OSDP constants
*/
#define OSDP_PD_SC_RETRY_MS (600 * 1000u)
#define OSDP_PD_SC_RETRY_MS (@OSDP_PD_SC_RETRY_MS@u)
#define OSDP_PD_POLL_TIMEOUT_MS (50)
#define OSDP_PD_SC_TIMEOUT_MS (8 * 1000u)
#define OSDP_PD_ONLINE_TOUT_MS (8 * 1000u)
#define OSDP_PD_SC_TIMEOUT_MS (@OSDP_PD_SC_TIMEOUT_MS@u)
#define OSDP_PD_ONLINE_TOUT_MS (@OSDP_PD_ONLINE_TOUT_MS@u)
#define OSDP_RESP_TOUT_MS (200)
#define OSDP_CMD_MAX_RETRIES (8)
#define OSDP_ONLINE_RETRY_WAIT_MAX_MS (300 * 1000u)
#define OSDP_CMD_RETRY_WAIT_MS (800)
#define OSDP_CMD_MAX_RETRIES (@OSDP_CMD_MAX_RETRIES@)
#define OSDP_ONLINE_RETRY_WAIT_MAX_MS (@OSDP_ONLINE_RETRY_WAIT_MAX_MS@u)
#define OSDP_CMD_RETRY_WAIT_MS (@OSDP_CMD_RETRY_WAIT_MS@)
#define OSDP_PACKET_BUF_SIZE (256)
#define OSDP_RX_RB_SIZE (512)
#define OSDP_CP_CMD_POOL_SIZE (4)
#define OSDP_FILE_ERROR_RETRY_MAX (10)
#define OSDP_FILE_ERROR_RETRY_MAX (@OSDP_FILE_ERROR_RETRY_MAX@)
#define OSDP_PD_MAX (126)
#define OSDP_CMD_ID_OFFSET (5)
#define OSDP_PCAP_LINK_TYPE (162)
#define OSDP_PD_NAME_MAXLEN (16)
#define OSDP_MINIMUM_PACKET_SIZE (128)
#define OSDP_MINIMUM_PACKET_SIZE (128)

#endif /* _OSDP_CONFIG_H_ */