Go to the documentation of this file.
28#if !defined( INC_INOSDEFINE_H )
29#define INC_INOSDEFINE_H
38#define INOS_LITTLE_ENDIAN 1234
43#define INOS_BIG_ENDIAN 4321
48#if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
49#define INOS_BYTE_ORDER INOS_LITTLE_ENDIAN
51#define INOS_BYTE_ORDER INOS_BIG_ENDIAN
54#define WORDS_BIGENDIAN 1
60#define INOS_INLINE inline __attribute__((always_inline))
65#define INOS_NOEXCEPT noexcept
71#if !defined(__ASSEMBLER__)
73#if defined(INOS_WINDOWS)
74typedef signed long long intptr;
75typedef unsigned long long uintptr;
77typedef signed long intptr;
78typedef unsigned long uintptr;
81typedef signed long intptr;
82typedef unsigned long uintptr;
94#define DF_INOS_CPU_CACHE_LINE_SIZE 32
100#define DF_INOS_CPU_CACHE_LINE_MASK 0xffffffe0
105#define DF_INOS_MEMORY_ALLOC_ALIGNMENT 16
114#define DF_INOS_TARGET_OFFSET_OPTIONS 0x00000040
119#define DF_INOS_TARGET_OFFSET_VERSION 0x00000080
128#define DF_INOS_TARGET_CHAR_FLOATING 0x00000001
133#define DF_INOS_TARGET_CHAR_LITTLE_ENDIAN 0x00000002
138#define DF_INOS_TARGET_CHAR_64BIT 0x00000004
143#define DF_INOS_TARGET_CHAR_RES0 0x00000010
144#define DF_INOS_TARGET_CHAR_RES1 0x00001000
145#define DF_INOS_TARGET_CHAR_RES2 0x00100000
146#define DF_INOS_TARGET_CHAR_RES3 0x10000000
155#define DF_INOS_SAFETY_INVALID_UID 0xffffffff
164#define DF_INOS_MAX_CORES 4
165#define DF_INOS_MAX_CORES_MASK ((1<<DF_INOS_MAX_CORES)-1)
170#define DF_INOS_CORE_DEFAULT 0xFF
175#define DF_INOS_MAX_WATCHPOINTS 1
182#define DF_INOS_TASK_PRIO_HIGHEST 0
187#define DF_INOS_TASK_PRIO_LOWEST 31
192#define DF_INOS_TASK_PRIO_REALTIME_HIGHEST 0
201#define DF_INOS_TASK_PRIO_ICC 3
206#define DF_INOS_TASK_PRIO_REALTIME 8
211#define DF_INOS_TASK_PRIO_REALTIME_LOWEST 15
216#define DF_INOS_TASK_PRIO_COMMUNICATION_HIGHEST 16
221#define DF_INOS_TASK_PRIO_COMMUNICATION 20
226#define DF_INOS_TASK_PRIO_COMMUNICATION_DISPATCHER 20
231#define DF_INOS_TASK_PRIO_COMMUNICATION_LOWEST 23
236#define DF_INOS_TASK_PRIO_USER_HIGHEST 24
241#define DF_INOS_TASK_PRIO_USER 28
246#define DF_INOS_TASK_PRIO_USER_LOWEST 30
251#define DF_INOS_TASK_PRIO_BACKGROUND 31
256#if defined(INOS_MULTICORE)
257#define INOS_MULTICORE_KERNEL 1
259#undef INOS_MULTICORE_KERNEL
271#define DF_INCO_PROTOCOL_CLASSIC 0
276#define DF_INCO_PROTOCOL_STRIPPED 1
281#define DF_INCO_PROTOCOL_SPLITTED 2
286#define DF_INCO_PROTOCOL_RESERVED 16
293#define DF_INCO_DEVICE_NUMBER_COM0 0
298#define DF_INCO_DEVICE_NUMBER_INFOLINK 1
303#define DF_INCO_DEVICE_NUMBER_COM1 2
308#define DF_INCO_DEVICE_NUMBER_ETH0 3
313#define DF_INCO_DEVICE_NUMBER_GINLINK 4
318#define DF_INCO_DEVICE_NUMBER_PDP 5
323#define DF_INCO_DEVICE_NUMBER_COP 6
328#define DF_INCO_DEVICE_NUMBER_ETH1 7
333#define DF_INCO_DEVICE_NUMBER_GIN_COP 8
338#define DF_INCO_DEVICE_NUMBER_ETH2 10
343#define DF_INCO_DEVICE_NUMBER_ETH3 11
348#define DF_INCO_DEVICE_NUMBER_ETH4 12
353#define DF_INCO_DEVICE_NUMBER_GINLINK1 13
358#define DF_INCO_DEVICE_NUMBER_GINLINK2 14
363#define DF_INCO_DEVICE_NUMBER_GINLINK3 15
368#define DF_INCO_DEVICE_NUMBER_CORE0X 0x10
373#define DF_INCO_DEVICE_NUMBER_CORE10 0x11
378#define DF_INCO_DEVICE_NUMBER_CORE20 0x12
383#define DF_INCO_DEVICE_NUMBER_CORE30 0x13
388#define DF_INCO_DEVICE_NUMBER_CORE40 0x14
393#define DF_INCO_DEVICE_NUMBER_CORE50 0x15
398#define DF_INCO_DEVICE_NUMBER_CORE60 0x16
403#define DF_INCO_DEVICE_NUMBER_CORE70 0x17
408#define DF_INCO_DEVICE_NUMBER_CORE80 0x18
413#define DF_INCO_DEVICE_NUMBER_CORE90 0x19
418#define DF_INCO_DEVICE_NUMBER_COREA0 0x1A
423#define DF_INCO_DEVICE_NUMBER_COREB0 0x1B
428#define DF_INCO_DEVICE_NUMBER_COREC0 0x1C
433#define DF_INCO_DEVICE_NUMBER_CORED0 0x1D
438#define DF_INCO_DEVICE_NUMBER_COREE0 0x1E
443#define DF_INCO_DEVICE_NUMBER_COREF0 0x1F
448#define DF_INCO_DEVICE_NUMBER_ETHERCAT 0x20
453#define DF_INCO_DEVICE_NUMBER_ETHERCAT1 0x21
458#define DF_INCO_DEVICE_NUMBER_ETHERCAT2 0x22
463#define DF_INCO_DEVICE_NUMBER_ETHERCAT3 0x23
468#define DF_INCO_DEVICE_NUMBER_LOOPBACK 0xFF
477#define DF_INOS_PARAM_EXTENSION_NAME "extension"
481#define DF_INOS_PARAM_EXTENSION_ID_INPUT_SHAPING 1
485#define DF_INOS_PARAM_EXTENSION_NAME_INPUT_SHAPING "shaping"
494#define DF_INOS_ETHERNET_SHUTDOWN (-2)
499#ifndef MDNS_MAX_SERVICES
500#define MDNS_MAX_SERVICES 3
510#define INCO (*pINCOItems)
515#define DISPATCHER (*CINCODispatcher::m_pInstance[GetCoreId()])
520#define DISPATCHER_EMG (*CINCODispatcher::m_pInstanceEmg[GetCoreId()])
525#if defined(INOS_CPU_CORTEXA9)
526#define ICC (*CINOSHwIcc::m_pInstance[GetCoreId(true)])
528#define ICC (*CINOSHwIcc::m_pInstance[GetCoreId()])
538#define ENVIRONMENT CINOSMcTargetEnvironment::Instance()
543#define SYSTEM CINOSMcTargetSystem::Instance()
548#define DTB CINOSMcTargetDtb::Instance()
553#define DT2 CINOSMcTargetDt2::Instance()
558#define DATA CINOSMcTargetData::Instance()
563#define NVRAM CINOSMcTargetNvRam::Instance()
568#define IMAGE CINOSMcTargetImage::Instance()
573#define IMAGETRANSFER CINOSMcTargetImageTransfer::Instance()
578#define COMM CINOSMcTargetComm::Instance()
583#define MCTARGET CINOSMcTarget::Instance()
588#define SLAVE CINOSMcTargetFieldbusSlave::Instance()
593#define KRNLOG CINOSMcTargetKernelLogger::Instance()
598#define MS CINOS1ms::Instance()
603#define LVDT CINOSLVDT::Instance()
608#define MOTION CINOSMcTargetMotionController::Instance()
613#define SAFETY CINOSMcTargetSafety::Instance()
618#define SYNC CINOSMcTargetTimeSync::Instance()
623#define ASYNC (*CINCOAsyncResultMgr::Instance())
628#define MOVEPATH CINOSMcTargetMovePath::Instance()
633#if defined(INOS_CPU_CORTEXA72) || defined(INOS_CPU_P50XX) || defined(INOS_CPU_P2020) || defined(INOS_CPU_PPC750) || defined(INOS_DESKTOP)
634#define DBG CINOSHwDbg::Instance()
635#define DBG_CLASS CINOSHwDbg
637#define DBG (*g_pBreakpoints)
638#define DBG_CLASS CINOSBreakpoints
644#if defined(FEATURE_INOS_CANBUS)
645#define CAN CINOSMcTargetCanbus::Instance()
651#define IRQ CINOSHwIrq::Instance()
656#if defined(FEATURE_INOS_ONNX)
657#define ONNX CINOSMcTargetOnnx::Instance()
664#if defined(INOS_CPU_CORTEXA9)
665#include <inosdefine_cortexa9.h>
666#elif defined(INOS_CPU_CORTEXA72)
667#include <inosdefine_cortexa72.h>
668#elif defined(INOS_CPU_P50XX)
669#include <inosdefine_p50xx.h>
670#elif defined(INOS_CPU_P2020)
671#include <inosdefine_p2020.h>
672#elif defined(INOS_CPU_PPC750)
673#include <inosdefine_ppc750.h>
674#elif defined(INOS_WINDOWS)
675#include <inosdefine_windows.h>
676#elif defined(INOS_LINUX)
677#include <inosdefine_linux.h>
679#include <inosdefine_deprecated.h>