##// END OF EJS Templates
All modes implemented for the waveforms...
All modes implemented for the waveforms Mode transition validity checked before transition All spw_ioctl_send structure have their field "options = 0" SpaceWire errors reported in HK packets

File last commit:

r0:452a68f7426f default
r23:af9a6b32a71f default
Show More
95 lines | 2.1 KiB | text/x-c | CLexer
#ifndef SPWAPI_LPP_H
#define SPWAPI_LPP_H
#include <asm-leon/leonstack.h>
#include <..\header\LPP_grspw.h>
#define LPP_TIME_MANAGER 0x80000600
struct spectral_matrices_regs_str
volatile unsigned int ctrl;
volatile unsigned int address1;
volatile unsigned int address2;
typedef struct spectral_matrices_regs_str spectral_matrices_regs_t;
struct packet_type_str
char time_packet;
char tc_packet;
} packet_type;
struct spwHeader_str
unsigned char targetLogicalAddress;
unsigned char protocolIdentifier;
unsigned char reserved;
unsigned char userApplication;
typedef struct spwHeader_str spwHeader_t;
struct time_manager_regs_str
volatile int ctrl;
volatile int next_coarse_time;
volatile int current_coarse_time;
volatile int fine_time;
typedef struct time_manager_regs_str time_manager_regs_t;
inline int loadmemAPI(int addr);
inline char loadb(int addr);
char *almalloc(int sz);
void spw_reset(grspwregs_t *regs);
void spw_init(int nodeaddr, int clkdiv, int destkey, int rxmaxlen, grspwregs_t *regs);
void set_txd(char *dataAddress, unsigned int dataLength, char *headerAddress, unsigned int headerLength, volatile int *txd);
int spw_checkrx(int* size, volatile int *rxd, grspwregs_t *regs);
int spw_checktx(grspwregs_t *regs);
void enable_transmitter_descriptor(unsigned int headerLength, volatile int *txd);
void enable_transmitter(grspwregs_t *regs);
void enable_receiver_descriptor(volatile char *rx, volatile int *rxd);
void enable_receiver(grspwregs_t *regs);
void send_data(unsigned int headerLength, volatile int *txd, grspwregs_t *regs, char* tx, char value);
int enable_timecode_reception(grspwregs_t *regs);
int check_time(grspwregs_t *grspw_regs);
void send_fine_time(unsigned int fine_time);
// IRQ
int irqhandler_receive_CCSDS(int irq, void * args, struct leonbare_pt_regs *leon_regs);
int enable_irq(int irq);
int disable_irq(int irq);
int force_irq(int irq);
#endif // SPWAPI_LPP_H