INOS
CINOSBus Class Reference
Inheritance diagram for CINOSBus:

Classes

struct  SCheck
 bus min/max channel numbers More...
 

Public Member Functions

virtual uint32 ContactModule (uint32 auAddress, uint32 auData)
 
virtual CINOSBusModule * Find (char *apName)
 
virtual CINOSBusModule * Find (uint32 auNumber)
 
virtual CINOSBusModule * FindFromAddress (uint32 auAddress)
 
virtual CINOSBusModule * FindFromBusNr (uint32 auBusNr)
 
virtual uint8 GetBusNr (uint32 auVirtualAddress)
 
virtual bool IsBusTask (CINOSTask *apTask)
 get bus number of module with given address
 
bool IsSimulated ()
 
CINOSBusModule * FindFromDigInp (const char *apName)
 
CINOSBusModule * FindFromDigOut (const char *apName)
 
CINOSBusJob * FindJob (uint32 auTraAddress)
 
virtual void Start (uint32 auState=3)
 
virtual void Stop ()
 
virtual void Reset ()
 
virtual void RegisterOversampling (uint32 auCycleTimeNs, uint8 auOversampling)
 
virtual uint32 RegisterHook (uintid &auHookId, void *apHandler, void *apObject=0, uint32 auCycleTime=0, uint16 auCycleId=(0xffff), int32 aiOrder=20, bool abEnabled=true)
 Register hook and return hook id. The registered function will be called in the context of the corresponding fieldbus task.
 
virtual uint32 RegisterPostHook (uintid &auHookId, void *apHandler, void *apObject=0, uint32 auCycleTime=0, uint16 auCycleId=(0xffff), int32 aiOrder=20, bool abEnabled=true)
 Register post hook and return hook id. The registered function will be called in the context of the corresponding fieldbus task.
 
uint32 RegisterErrorHook (uintid &auHookId, void *apHandler, void *apObject=0)
 Register error hook and return hook id. The registered function will be called in the context of the corresponding fieldbus task.
 
virtual uint32 UnRegisterHook (uintid auHookId)
 Unregister hook with given id.
 
virtual uint32 UnRegisterPostHook (uintid auHookId)
 Unregister post hook with given id.
 
uint32 UnRegisterErrorHook (uintid auHookId)
 Unregister error hook with given id.
 
uint32 EnableHook (uintid auHookId)
 Enable hook with given id.
 
uint32 DisableHook (uintid auHookId)
 Enable hook with given id.
 
voidGetHookHandler (uintid auHookId)
 Get handler of given hook.
 
uint32 SetHookHandler (uintid auHookId, void *apHandler)
 Set handler of given hook.
 
uint8 GetHookCycleNumber (uintid auHookId)
 Get cycle number of given hook.
 
uint32 GetHookCycleTime (uintid auHookId)
 Get cycle time of given hook.
 
void ChangeHookId (uintid auOldHookId, uintid auNewHookId)
 
virtual const charGetCategoryName (const uint32 auCategory) const
 
virtual const CINOSTaskGetCategoryTask (const uint32 auCategory) const
 
uint32 GetState ()
 
uint32 GetActCycle ()
 
virtual uint16 * GetActCycleAdr (uint8 auCategory)
 
virtual uint16 GetActCycleId ()
 
uint32 GetHeartBeat ()
 
uint32 GetSubCycles ()
 
uint32 GetMainCycles ()
 
virtual void SetErrorCounter (uint32 auErrorCounter)
 
virtual uint32 GetErrorCounter ()
 
void SetOverrunCounter (uint32 auOverrunCounter)
 
uint32 GetOverrunCounter ()
 
void SetPostOverrunCounter (uint32 auPostOverrunCounter)
 
uint32 GetPostOverrunCounter ()
 
virtual void DiagnosticOn ()
 
virtual void DiagnosticOff ()
 
const charGetType ()
 Get bus type, used for consistency checks.
 
virtual uint16 GetOffset (bool abReal=true)
 
uint8 GetId ()
 
uint32 GetOptions ()
 
uint16 GetOptionsEx ()
 
void SetOptionsEx (uint16 auOptions)
 
void ClrOptionsEx (uint16 auOptions)
 
uint64 GetTickCount ()
 
uint64 * GetTickCountAdr ()
 
void SetTickCount (uint64 auTicks)
 
virtual uint32 GetTickTime ()
 
virtual uint32 GetTickTimeNs ()
 
uint32 GetMainCycleTime ()
 
uint32 GetMainCycleTimeNs ()
 
virtual uint32 GetSubCycleTime (uint8 auCategory=0)
 
virtual uint32 GetSubCycleTimeNs (uint8 auCategory=0)
 
uint32 GetError ()
 
void SetErrorMask (uint32 auMask)
 
uint32 GetErrorMask ()
 
void AcceptError (uint32 auError=0xffffffff)
 
uint8 GetScanIncludeModuleName ()
 
uint16 GetScanMaxWaitForBus ()
 
uint16 GetScanMaxWaitForModules ()
 
virtual uint32 GetParam (const char *apName, real64 &arResult)
 
virtual void ResetMeasure ()
 
virtual void SyncBus (uint32 auCmdOffset)
 
virtual void Accelerate ()
 
virtual void Decelerate ()
 
virtual void Exactelerate ()
 
real64 GetTimebase (uint32 auHigh, uint32 auLow)
 
virtual uint8 GetCategory (CINOSBusPort *apPort)
 
virtual uint8 GetFastestCategory ()
 
uint32 GetCategoryNs (CINOSBusPort *apPort)
 
virtual uint8 GetCategory (SINOSBusPort *apPort)
 
uint8 GetCategory (uint32 auCycleTimeNs, bool abAssertOnError=true)
 
uint32 GetCategoryNs (uint8 auCategory)
 
uint16 GetCycleId (CINOSBusPort *apPort)
 
uint8 GetPage (CINOSBusPort *apPort)
 
uint8 GetPage (uint32 auCycleTimeNs)
 
uint32 ConvertToNs (uint32 auValue)
 
virtual uint16 GetCycleId (const char *apName)
 
virtual uint32 GetCycleTimeNs (const char *apName)
 
virtual void Sleep (uint32 auBusTicks)
 
virtual void SleepClocked (uint32 auBusTicks)
 
virtual void FlushCache (uint8 auCategory)
 
virtual CINCOObject * GetRegister ()
 
virtual CINCOObject * GetModulesObj ()
 Return root registration object of modules.
 
uint8 GetCoreCount () const
 
INOS_INLINE void AtomicGatherEnter (uint32 &ouToken)
 
INOS_INLINE bool AtomicGatherExit (uint32 auToken)
 
bool IsWatchdogPending (uint8 auCategory)
 Return true if fieldbus watchdog pending of the given category.
 
 CINOSBus (SINOSBus *apDesc)
 
virtual uint32 SetState (uint32 auState)
 
void SetHeartBeat (uint32 auHeartBeat)
 
uint32 GetVirtualCycleIndex ()
 
virtual void Add (CINOSBusModule *apModule)
 
virtual void Remove (CINOSBusModule *apModule)
 
virtual void RemoveAll ()
 
virtual void Scan ()
 
virtual void Prepare ()
 
virtual void PostPrepare ()
 
virtual void Initialyse ()
 
virtual bool InitDone ()
 
virtual bool IsDynamic ()
 
virtual bool IsCategoryBased ()
 
uint32 GetChannelBase (uint16 auAddress)
 get channel base number of module auAddress
 
uint32 GetBitBase (uint16 auAddress)
 get bit channel base number of module auAddress
 
- Public Member Functions inherited from CINOSTask
 CINOSTask (char *apName=nullptr, uint32 auStackSize=defDefaultStackSize, uint32 auPriority=DF_INOS_TASK_PRIO_LOWEST, bool abFloatingPoint=true, uint32 auTimeSlice=defDefaultTimeSlice, bool abInterruptsDisabled=false, void *apHandler=0, void *apObject=0)
 Create a task with given properties. One needs to Resume the task after creation to get it running.
 
 CINOSTask (std::function< void(void *)> aFunction, void *apParam=nullptr, uint8 auPriority=DF_INOS_TASK_PRIO_LOWEST)
 Create a task with given properties. One needs to Resume the task after creation to get it running.
 
 CINOSTask (const char *apName, std::function< void(void *)> aFunction, void *apParam=nullptr, uint8 auPriority=DF_INOS_TASK_PRIO_LOWEST)
 Create a task with given properties. One needs to Resume the task after creation to get it running.
 
virtual ~CINOSTask ()
 Destroy task.
 
virtual uint32 Shutdown (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Shutdown task, used to shutdown a foreign task.
 
virtual uint32 Join ()
 Join task or in other words, wait till it terminates.
 
virtual void Detach ()
 Detach task from parent. One uses this method if one doesn't want this task to be shut down if the parent shuts down.
 
virtual void Exit ()
 Terminate myself. Exit code is INOS_OK or the code previously set with SetExitCode.
 
virtual void Exit (uint32 auExitCode)
 Terminate myself.
 
virtual void SetExitCode (uint32 auExitCode)
 Set exit code.
 
virtual uint32 GetExitCode ()
 Get exit code.
 
virtual bool CheckShutdown ()
 Check if a shutdown is pending.
 
virtual void SetSuspendHook (void *apSuspendHook)
 Set Suspend hook.
 
virtual void ClrSuspendHook ()
 Clear Suspend hook.
 
virtual voidGetSuspendHook ()
 Get Suspend hook if any.
 
INOS_INLINE ETskType GetTskType ()
 Get task type.
 
INOS_INLINE ETskType SetTskType (ETskType aeType)
 Set task type.
 

Static Public Member Functions

static CINOSBusFindBus (char *apName)
 
static CINOSBusFindBus (uint32 auId)
 
static CINOSBusPortFindPortFromInp (uint32 auNumber)
 
static CINOSBusPortFindPortFromOut (uint32 auNumber)
 
static CINOSBusGetFirstBus ()
 Return first valid bus (aka "g_pBus[0]").
 
static uint8 GetFirstBusId ()
 Return the id of the first valid bus, or 0 if none available.
 
static void AddBus (uint32 auId, CINOSBus *apBus)
 Add a new bus to the handled busses.
 
static void SetTargetError ()
 

Protected Types

enum  { eTskLogTriggerOverrun = 0x01 , eTskLogTriggerPostOverrun = 0x02 }
 
enum  { eBusSyncOff , eBusSyncOk , eBusSyncAccelerate , eBusSyncDecelerate }
 
enum  EBusSyncType { eBusSyncNone = 0 , eBusSyncMaster = 1 , eBusSyncToMaster = 2 , eBusSyncToUTC = 3 }
 
enum  { eBusSyncFilterLength = 16 , eBusSyncFilterShift = 4 , eBusSyncFilterMask = eBusSyncFilterLength-1 }
 

Protected Member Functions

void EnableTasklogTriggerOverrun (uint8 auPercent)
 
void DisableTasklogTriggerOverrun ()
 
void EnableTasklogTriggerPostOverrun (uint8 auPercent)
 
void DisableTasklogTriggerPostOverrun ()
 
void SyncBusOn ()
 
void SyncBusOff ()
 
uint8 VirtualAddressAlloc ()
 allocate virtual module address
 
void VirtualAddressFree (uint8 auAddress)
 free virtual module address
 
bool VirtualAddressCheck (uint8 auAddress)
 check virtual module address
 
uint32 GetRealCycleIndex (uint32 auVirtualCycle)
 
void SortJobs ()
 
voidRequestEepromBuffer ()
 
void ReleaseEepromBuffer (void *apBuffer)
 
void HandleDownSampling ()
 
SINOSBusHandlerBufferHandlerBufferPrepare (SINOSBusHandlerBuffer *&apBuffer)
 
void HandlerBufferDone (SINOSBusHandlerBuffer *&apBuffer, SINOSBusHandlerBuffer *apNew)
 
bool HandlerBufferEqualContent (SINOSBusHandlerBuffer *apBuffer1, SINOSBusHandlerBuffer *apBuffer2)
 
void HandlerBufferSetup ()
 
void HandlerBufferSetupRec (uint8 auCategory=0)
 
ICACHE void HandleRecData (uint8 auCategory=0)
 
void HandlerBufferSetupRecM (uint16 auCycleId)
 
ICACHE void HandleRecDataM (uint16 auCycleId)
 
void HandlerBufferSetupTra (uint8 auCategory=0)
 
ICACHE void HandleTraData (uint8 auCategory=0)
 
void HandlerBufferSetupTraM (uint16 auCycleId)
 
ICACHE void HandleTraDataM (uint16 auCycleId)
 
ICACHE void HandleHooks (uint8 auCategory=0)
 
ICACHE void HandlePostHooks (uint8 auCategory=0, bool abWakeupPostTask=true)
 
void iHandlePostHooks ()
 
virtual uint32 iRegisterHook (uintid &auHookId, SINOSBusHook **apHooks, void *apHandler, void *apObject, uint32 auCycleTime, uint16 auCycleId, int32 aiOrder, bool abEnabled)
 
void iUnRegisterHook (uintid auHookId, bool abDestroyFirst=true)
 
void iInsertHook (SINOSBusHook **apList, SINOSBusHook *apHook)
 
void iRemoveHook (SINOSBusHook *apHook, bool abDestroy=true)
 
void iDeleteHook (SINOSBusHook *apHook)
 
bool iToBeRemoved (uintid auHookId)
 
void iCleanupHooks (bool abDestroyFirst=true)
 
void Measure ()
 
void SetError (uint32 auErrors)
 
INOS_INLINE void AtomicGatherBeginUpdate ()
 
INOS_INLINE void AtomicGatherEndUpdate ()
 
- Protected Member Functions inherited from CINOSTask
virtual void Action ()
 Task action loop, needs to be overwritten by the user. For more info, see section Creation.
 

Static Protected Member Functions

static void HandleRecBuffer (SINOSBusHandlerBuffer *apHnd)
 
static void HandleTraBuffer (SINOSBusHandlerBuffer *apHnd)
 
static void EnbCheck (bool abEnable)
 enable/disable channel check
 
static void ModSetup (uint8 auBusId)
 inform the system about a bus module setup
 
static void ChnCreate (uint32 auNumber)
 inform the system about a process image channel creation
 
static void ConflictCheck ()
 check for possible conflicts
 
static void PermanentCheck ()
 switch on permanent check
 

Protected Attributes

SINOSBusm_pDesc
 
uint32 m_uState
 
uint32 m_uError
 
uint32 m_uErrorMask
 
uint32 m_uHeartBeat
 
char m_cStateMsg [32]
 
uint32 m_uMainCycleTime
 
uint32 m_uMainCycleTimeNs
 
uint32 m_uSubCycleTime
 
uint32 m_uSubCycleTimeNs
 
uint16 m_uSubCycles
 
int16 m_iActCycle
 
uint16 m_uMainCycles
 
int16 m_iActMainCycle
 
uint8 m_uCores = 1
 actual number of cores used
 
uint32 m_uErrorCounter
 
CINOSBusModule * m_pFirst
 
uint32 m_uJobs
 
uint32 m_uJobsMax
 
CINOSBusJob ** m_pJobs
 
uint32 m_uIndexes
 
uint16 * m_pIndexes
 
uint16 m_uVirtualCycleIndex
 
class CINOSBusChannelHandler * m_pChnHnd = nullptr
 pointer to bus channel handler (if any)
 
CINCOObject * m_pRegister
 
CINCOObject * m_pModules
 
CINCOObject * m_pTiming
 
CINOSTaskm_pPostTask
 
CINOSMutexm_pHookLock
 
SINOSBusHook ** m_pHooks
 
SINOSBusHook ** m_pPostHooks
 
SINOSBusHookm_pErrorHooks
 
volatile SINOSBusHookm_pToBeRemoved
 
voidm_pEepromBuffer
 
uint32 m_uContactAdr
 
uint32 m_uContactDat
 
uint32 m_uContactRet
 
SINOSBusInfo m_Info {}
 
SINOSCatInfo m_CatInfo [DF_INOS_BUS_MAX_SUB_CYCLES]
 
SINOSBusHandlerBufferm_pRecHnd [4]
 
SINOSBusHandlerBufferm_pRecHndM [DF_INOS_MAX_CORES][4][32]
 
SINOSBusHandlerBufferm_pTraHnd [4]
 
SINOSBusHandlerBufferm_pTraHndM [DF_INOS_MAX_CORES][4][32]
 
uint64 m_uTickCount
 
uint64 m_uTimebase
 
CINOSMutex m_VirtualAddressMutex
 
uint32 m_uVirtualAddressMask [8] = {0}
 
uint8 m_uVirtualAddressCounter = DF_INOS_BUS_MOD_VADDR_MIN
 
uint8 m_uTasklogTriggerFlags {}
 
uint8 m_uTasklogTriggerPercent {50}
 
enum CINOSBus:: { ... }  m_eBusSync = eBusSyncOff
 
enum CINOSBus::EBusSyncType m_eBusSyncType = eBusSyncNone
 
uint8 m_uBusSyncIndex = 0
 bus sync index
 
int32 m_iBusSyncFilter [eBusSyncFilterLength] = {0}
 bus sync delta [ns]
 
int32 m_iBusSyncFilterSum = 0
 
int32 m_iBusSyncDelta = 0
 
uint32 m_uBusSyncOffset = 0
 
int32 m_iBusSyncTolerance = 2000
 
uint32 m_uBusSyncOk = 0
 bus sync ok counter
 
uint32 m_uBusSyncAccelerate = 0
 bus sync accelerate counter
 
uint32 m_uBusSyncDecelerate = 0
 bus sync decelerate counter
 
uint32 m_uAtomicGather = 0x00000000
 

Static Protected Attributes

static CINOSBuss_pFirstBus
 Pointer to first valid bus, cached for faster access of "g_pBus[0]".
 
static CINCOObject * m_pFieldBus
 
static SINOSBusHooks_pHooks [256]
 
static std::atomic< uint8 > s_uHooks
 
static uint64 m_uBusSyncMaster
 master sync time stamp
 
static CINOSMutex m_ChnCheck
 check mutex
 
static bool m_bChkEnabled
 check active
 
static bool m_bChkPermanent
 permanent check
 
static uint8 m_uChkBusId
 current bus id
 
static SCheck m_Chk [4]
 

Friends

class CINOSBusJob
 
class CINOSBusModule
 
class CINOSBusChannelHandler
 
class CINOSBits
 
class CINOSAdcChannels
 
class CINOSDacChannels
 
class CINOSPosChannels
 
class CINOSProcessImageChannel
 
class CINOSTaskEx
 
class CGINModuleIMP
 
class CINOSMcTargetKernelLogger
 
void _INI_0299_CINOSBus ()
 
void _INI_0399_CINOSBus ()
 
void _INI_0500_CINOSBus ()
 

Additional Inherited Members

- Public Types inherited from CINOSTask
enum  ETskType {
  eTskTypeBoot = 0 , eTskTypeResource = 1 , eTskTypeSystem = 2 , eTskTypeApplication = 3 ,
  eTskTypeCommunication = 4 , eTskTypeRealtime = 5 , eTskTypeInterrupt = 6 , eTskTypeBackground = 7 ,
  eTskTypeLua = 8 , eTskTypeTest = 9 , eTskTypeReserved0 = 10 , eTskTypeReserved1 = 11 ,
  eTskTypeUser0 = 12 , eTskTypeUser1 = 13 , eTskTypeUser2 = 14 , eTskTypeUser3 = 15
}
 Task types.
 

Member Function Documentation

◆ AtomicGatherBeginUpdate()

INOS_INLINE void CINOSBus::AtomicGatherBeginUpdate ( )
inlineprotected

synchronization functions to be called from bus tasks before/after updating variables that may be shared with application tasks

◆ AtomicGatherEnter()

INOS_INLINE void CINOSBus::AtomicGatherEnter ( uint32 &  ouToken)
inline

spin-lock style functions to read multiple variables at the same bus cycle. if AtomicGatherExit returns false, this means that the calling task was interrupted, so that some of the values may be changed by some bus task. in this case, read all values again until AtomicGatherExit returns true:

example:

// atomically get values uint32 uToken = 0; do { // enter critical section AtomicGatherEnter(uToken);

uMyValue1 = GetActValue1(); uMyValue2 = GetActValue2(); ...

// stay here till successfully exited atomic section } while (!AtomicGatherExit(uToken));

◆ DisableHook()

uint32 CINOSBus::DisableHook ( uintid  auHookId)

Enable hook with given id.

Parameters
[in]auHookIdId of hook to be enabled
Returns
INOS_OK or an appropritate error code

◆ EnableHook()

uint32 CINOSBus::EnableHook ( uintid  auHookId)

Enable hook with given id.

Parameters
[in]auHookIdId of hook to be enabled
Returns
INOS_OK or an appropritate error code

◆ GetCoreCount()

uint8 CINOSBus::GetCoreCount ( ) const
inline
Returns
The count of CPU cores used by this bus. In single core systems, this function always return 1. In multi core systems, the actually used core count depends on the fieldbus configuration.

◆ GetHookCycleNumber()

uint8 CINOSBus::GetHookCycleNumber ( uintid  auHookId)

Get cycle number of given hook.

Parameters
[in]auHookIdId of hook
Returns
Cycle number of hook

◆ GetHookCycleTime()

uint32 CINOSBus::GetHookCycleTime ( uintid  auHookId)

Get cycle time of given hook.

Parameters
[in]auHookIdId of hook.
Returns
Cycle time of hook.

◆ GetHookHandler()

void * CINOSBus::GetHookHandler ( uintid  auHookId)

Get handler of given hook.

Parameters
[in]auHookIdId of hook
Returns
Pointer to handler or nullptr if id invalid

◆ GetModulesObj()

virtual CINCOObject * CINOSBus::GetModulesObj ( )
inlinevirtual

Return root registration object of modules.

Returns
Modules inco object.

◆ IsWatchdogPending()

bool CINOSBus::IsWatchdogPending ( uint8  auCategory)
inline

Return true if fieldbus watchdog pending of the given category.

Parameters
apDataAddress of the provided image
Returns
Watchdog state of given category.

◆ RegisterErrorHook()

uint32 CINOSBus::RegisterErrorHook ( uintid &  auHookId,
void apHandler,
void apObject = 0 
)

Register error hook and return hook id. The registered function will be called in the context of the corresponding fieldbus task.

Parameters
[out]auHookIdOutput parameter set to the unique 'hook id', used to disable, enable and unregister this hook. This value will be non-zero on success.
[in]apHandlerPointer to function to be called
[in]apObjectPointer to object instance if apHandler is a class method
Returns
INOS_OK or an appropritate error code

◆ RegisterHook()

virtual uint32 CINOSBus::RegisterHook ( uintid &  auHookId,
void apHandler,
void apObject = 0,
uint32  auCycleTime = 0,
uint16  auCycleId = (0xffff),
int32  aiOrder = 20,
bool  abEnabled = true 
)
virtual

Register hook and return hook id. The registered function will be called in the context of the corresponding fieldbus task.

Parameters
[out]auHookIdOutput parameter set to the unique 'hook id', used to disable, enable and unregister this hook. This value will be non-zero on success.
[in]apHandlerPointer to function to be called
[in]apObjectPointer to object instance if apHandler is a class method
[in]auCycleTimeRequested cycletime [ns]
[in]auCycleIdRequested cycle id, see INOS_CYCLEID
[in]aiOrderRequested order, see DF_INOS_BUS_HOOK_ORDER_DEFAULT
[in]abEnabledTrue if hook is enabled right from the beginning
Returns
INOS_OK or an appropritate error code

◆ RegisterPostHook()

virtual uint32 CINOSBus::RegisterPostHook ( uintid &  auHookId,
void apHandler,
void apObject = 0,
uint32  auCycleTime = 0,
uint16  auCycleId = (0xffff),
int32  aiOrder = 20,
bool  abEnabled = true 
)
virtual

Register post hook and return hook id. The registered function will be called in the context of the corresponding fieldbus task.

Parameters
[out]auHookIdOutput parameter set to the unique 'hook id', used to disable, enable and unregister this hook. This value will be non-zero on success.
[in]apHandlerPointer to function to be called
[in]apObjectPointer to object instance if apHandler is a class method
[in]auCycleTimeRequested cycletime [ns]
[in]auCycleIdRequested cycle id, see INOS_CYCLEID
[in]aiOrderRequested order, see DF_INOS_BUS_HOOK_ORDER_DEFAULT
[in]abEnabledTrue if hook is enabled right from the beginning
Returns
INOS_OK or an appropritate error code

◆ SetHookHandler()

uint32 CINOSBus::SetHookHandler ( uintid  auHookId,
void apHandler 
)

Set handler of given hook.

Parameters
[in]auHookIdId of hook
[in]apHandlerPointer to function to be called
Returns
INOS_OK or an appropritate error code

◆ UnRegisterErrorHook()

uint32 CINOSBus::UnRegisterErrorHook ( uintid  auHookId)

Unregister error hook with given id.

Parameters
[in]auHookIdId of hook to be unregistered
Returns
INOS_OK or an appropritate error code

◆ UnRegisterHook()

virtual uint32 CINOSBus::UnRegisterHook ( uintid  auHookId)
virtual

Unregister hook with given id.

Parameters
[in]auHookIdId of hook to be unregistered
Returns
INOS_OK or an appropritate error code

◆ UnRegisterPostHook()

virtual uint32 CINOSBus::UnRegisterPostHook ( uintid  auHookId)
virtual

Unregister post hook with given id.

Parameters
[in]auHookIdId of hook to be unregistered
Returns
INOS_OK or an appropritate error code

Member Data Documentation

◆ m_uAtomicGather

uint32 CINOSBus::m_uAtomicGather = 0x00000000
protected

bitmask used for AtomicGather operations

lower 8 bits: task counter indicates number of bus tasks (possibly from different cores) that are currently inside the update section upper 24 bits: update counter indicates the "value revision", i.e. incremented in every cycle


The documentation for this class was generated from the following file: