Please, help us to better know about our user community by answering the following short survey: https://forms.gle/wpyrxWi18ox9Z5ae9
scIGPMessage Class Reference

Detailed Description

The scIGPMessage class.

The addresses must comprise the HThread number correctly! A scIGPMessage breaks down as follows. All messages have a header

Register ('R') messages:

  • [3] SC_GRIDPOINT_MASK_TYPE mask of registers comprised
  • [4-] Register contents listed above, see also MessageFeatures_t::Length
    See also
    scGridPoint::CreateRegisterMessageTo
    Cooperationl ('C') messages:
  • [3] the message contents
    See also
    scGridPoint::CreateSpecialMessageTo
    scGridPoint::CreateQtKillMessageTo
    Quasi-thread ('Qt') messages The contents are as listed at type 'R', plus the
  • [lengthof('R')+1] Instruction Pointer
  • [lengthof('R')+2] backlink register SC_GRIDPOINT_MASK_TYPE mask
  • [lengthof('R')+3] status word (if needed, like by Y86)
    See also
    scGridPoint::CreateQtCreateMessageTo
    Memory ('M') messages The memories are accessed anyhow through the inter-cluster bus, but the mechanism is transparent for the programmer and the cores.
  • [3] memory address
  • [4-] memory data, in length as given by MessageFeatures_t::Length

The memory read requests do have no extra (empty and obsolete) bytes for the requested contents. Rather, they set the size to 4, and MessageFeatures_t::ReplyLength delivers the reply length information to the memory, and the sent-back message has the corresponding length. This feature make a message CreateReadMessageReply obsolete: if the length is 4, it is a read message.

See also
scClusterBusMemorySlow::CreateWriteMessage
scClusterBusMemorySlow::CreateReadMessageReply

Neural ('N') messages The messages are sent by scHThread and received by scHThread. More precisely, from AbstractNeurer to AbstractNeurer. The content depends on the message type Type 0 (a spike)

  • [3] memory address of the Spike to be executed
  • [4-] scale factors, TimeFact<<16 + AmplitudeFact

That is, the mimimum length is four 32-bit words. The message is created by the sender scGridPoint, and deleted by the receiver scGridPoint

Public Member Functions

int32_t BufferContent_Get (int index)
 Returns the index-th element in the buffer.
 
void BufferContent_Set (int index, int32_t C)
 Sets the index-th element of the buffer to C.
 
int16_t DelayTime_Get (void)
 Return MessageFeatures_t::Length of the message (Total, including the header)
 
void DelayTime_Set (int16_t T)
 Set the type of the message in the buffer to MessageFeatures_t::Type T.
 
ClusterAddress_t DestinationAddress_Get (void)
 Return the ClusterAddress_t address of the destination in the message.
 
void DestinationAddress_Set (ClusterAddress_t CA)
 Set the destination address to ClusterAddress_t address CA.
 
MessageFeatures_t FeatureWord_Get (void)
 Returns the features word of the message.
 
void FeatureWord_Set (MessageFeatures_t &F)
 Sets the features word to F. More...
 
uint32_t Header3Address_Get (void)
 Set the ReplyTo (or source) address to ClusterAddress_t CA.
 
void Header3Address_Set (uint32_t A)
 Set the Header3 address to ClusterAddress_t address CA.
 
int Length_Get (void)
 Return MessageFeatures_t::Length of the message (Total, including the header)
 
int ReplyLength_Get (void)
 Get from the 'memory read' message the requested reply length MessageFeatures_t::ReplyLength. More...
 
ClusterAddress_t ReplyToAddress_Get (void)
 Return the ClusterAddress_t ReplyTo (or source) address.
 
void ReplyToAddress_Set (ClusterAddress_t CA)
 Set the ReplyTo address to ClusterAddress_t address CA.
 
 scIGPMessage (void)
 Implements the messages for the autonomously communicating grid point functionality. More...
 
string StringOfBufferContent_Get (int index)
 return content of the index-th element in hexadecimal string form
 
IGPMessageType Type_Get (void)
 Returns MessageFeatures_t::Type.
 
void Type_Set (IGPMessageType &T)
 Set the type of the message in the buffer to MessageFeatures_t::Type T.
 

Constructor & Destructor Documentation

◆ scIGPMessage()

scIGPMessage::scIGPMessage ( void  )

Implements the messages for the autonomously communicating grid point functionality.

The messages comprise the destination address and the reply-to address. When assembling the messages, the sending gridpoint fills out the address fields properly, so the bottom layer can forward the message autonomously to its destination. That is, the bottom layer serves as a router, and akin to the computer network routers, has the right to change the addressing mode in function of the actual conditions.

Member Function Documentation

◆ FeatureWord_Set()

void scIGPMessage::FeatureWord_Set ( MessageFeatures_t F)
inline

Sets the features word to F.

Parameters
Fthe new features word MessageFeatures_t

◆ ReplyLength_Get()

int scIGPMessage::ReplyLength_Get ( void  )
inline

Get from the 'memory read' message the requested reply length MessageFeatures_t::ReplyLength.

Returns

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