Configuration

The bus model is configured using the Mil1553BusIface. The main work is to call the connect function to insert a remote terminal at the given subaddress.

SetBusController should be called to set the current bus controller (note, this can be done at runtime).

The construction of a network with 1553 devices are simplified by using the following commands in the command line interface:

  • mil-std-1553-connect bus=b rt=rt addr=1

  • mil-std-1553-disconnect bus=b addr=1

  • mil-std-1553-setbc bus=b bc=bc

@MilStd1553Bus Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

TimeSource

*void

Time source object

Commands

Name Description

delete

Dispose instance of @MilStd1553Bus

new

Create new instance of MilStd1553Bus

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

MilStd1553Bus Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

TimeSource

*void

Time source object

bc

temu_IfaceRef/ <unknown>

Bus controller.

devices

[temu_IfaceRef; 32]/ <unknown>

Remote terminals.

lastCmd

uint16_t

receiverRT

int8_t

stats.lastReportSentWords

uint64_t

stats.sentWords

uint64_t

transmitterRT

int8_t

Interfaces

Name Type Description

Mil1553BusIface

Mil1553BusIface

Commands

Name Description

connect

Connect device to 1553 bus.

delete

Dispose instance of MilStd1553Bus

disconnect

Disconnect device from 1553 bus.

setBC

Set bus controller for 1553 bus.

Command connect Arguments

Name Type Required Description

addr

int

yes

RT address.

rt

object

yes

Connect RT to bus.

Command disconnect Arguments

Name Type Required Description

addr

int

yes

RT address.

Command setBC Arguments

Name Type Required Description

bc

object

yes

Bus controller object.

@MilStd1553BusLogger Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

TimeSource

*void

Time source object

Commands

Name Description

delete

Dispose instance of @MilStd1553BusLogger

new

Create new instance of MilStd1553BusLogger

Command new Arguments

Name Type Required Description

bus

object

no

Bus object to attach to (see also attach/detach commands).

fmt

string

yes

Format (csv

pcap

pcapng

log).

name

MilStd1553BusLogger Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

TimeSource

*void

Time source object

bus

*void

Bus object to monitor.

statPeriod

double

Statistics report period in seconds, set to positive enables reports.

Commands

Name Description

attach

Attach to bus.

delete

Dispose instance of MilStd1553BusLogger

detach

Detach from bus.

Command attach Arguments

Name Type Required Description

bus

object

yes

Bus object to attach to.

Notifications

The default TEMU milbus model issues the following notifications:

Name Description Param Type

temu.mil1553Stat

Statistics notification.

temu_Mil1553Stats*

temu.mil1553Send

Valid message in transit.

temu_Mil1553Msg*

The statistics notification is issued when calling the reportStats function in the bus interface. The user can call this function from a timed event handler if needed. Another interesting calling point is to force statistics reporting at a PPS tick, i.e. a PPS device issues the call to the milbus object to report the statistics, and can attempt to post other events at minor cycle intervals for example. This way the stat event can be used to monitor whether the system keeps the milbus budget.

The send notification receives a pointer with the actual message in transit, but before it has been delivered to the remote terminal (but after the bus object has rejected any messages transmitted illegally). The notification handler is free to modify the message, for example it is possible to set the Err field in the message struct to inject a transfer error, the RT can then set the message error bit in the status word.