dodany kod c od Krzyska po wielu modyfikacjach przez Gemini zeby usunac zalezność od TI-RTOS
This commit is contained in:
90
src/eth_ench.h
Normal file
90
src/eth_ench.h
Normal file
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* eth_ench.h
|
||||
*
|
||||
* Created on: 17-05-2024
|
||||
* Author: Krzysztof Jakubczyk
|
||||
*/
|
||||
|
||||
#ifndef ETH_ENCH_H_
|
||||
#define ETH_ENCH_H_
|
||||
|
||||
#include "tdefs.h"
|
||||
#include "mkstream.h"
|
||||
#include "helper.h"
|
||||
#include "comm.h"
|
||||
|
||||
#define ETH_ENCH_STREAMS (ETH_MAX_RECV_STREAMS-ETH_MAX_STREAMS)
|
||||
|
||||
struct eth_ench_logic
|
||||
{
|
||||
struct binary_io clr;
|
||||
struct binary_io ping;
|
||||
struct stream_frame stream_out[ETH_MAX_RECV_STREAMS-ETH_MAX_STREAMS];
|
||||
struct binary_io stream_act[ETH_MAX_RECV_STREAMS-ETH_MAX_STREAMS];
|
||||
struct binary_io link[ETH_MAX_RECV_STREAMS-ETH_MAX_STREAMS];
|
||||
float *stream_errs[ETH_MAX_RECV_STREAMS-ETH_MAX_STREAMS];
|
||||
float *stream_synt_errs[ETH_MAX_RECV_STREAMS-ETH_MAX_STREAMS];
|
||||
float *ping_time;
|
||||
u16 s_delay;
|
||||
u32 state;
|
||||
u32 tcnt;
|
||||
u32 prev_pos[ETH_MAX_RECV_STREAMS-ETH_MAX_STREAMS];
|
||||
u32 link_timeout_cnt[ETH_MAX_RECV_STREAMS-ETH_MAX_STREAMS];
|
||||
u32 link_up_cnt[ETH_MAX_RECV_STREAMS-ETH_MAX_STREAMS];
|
||||
u16 prev_timestamp;
|
||||
};
|
||||
|
||||
struct eth_ench_io
|
||||
{
|
||||
u32 clr_in;
|
||||
u32 stream3_ptr_out;
|
||||
u32 stream3_act_out;
|
||||
u32 stream4_ptr_out;
|
||||
u32 stream4_act_out;
|
||||
u32 stream5_ptr_out;
|
||||
u32 stream5_act_out;
|
||||
u32 stream6_ptr_out;
|
||||
u32 stream6_act_out;
|
||||
u32 stream7_ptr_out;
|
||||
u32 stream7_act_out;
|
||||
u32 link3_out;
|
||||
u32 stream3_errs_float_out;
|
||||
u32 link4_out;
|
||||
u32 stream4_errs_float_out;
|
||||
u32 link5_out;
|
||||
u32 stream5_errs_float_out;
|
||||
u32 link6_out;
|
||||
u32 stream6_errs_float_out;
|
||||
u32 link7_out;
|
||||
u32 stream7_errs_float_out;
|
||||
u32 stream3_synt_errs_float_out;
|
||||
u32 stream4_synt_errs_float_out;
|
||||
u32 stream5_synt_errs_float_out;
|
||||
u32 stream6_synt_errs_float_out;
|
||||
u32 stream7_synt_errs_float_out;
|
||||
}__attribute__((__packed__));
|
||||
|
||||
|
||||
//bits
|
||||
#define ETH_EN 0x01
|
||||
#define ETH_EN_BCASTS 0x02
|
||||
#define ETH_NO_SYNC 0x04
|
||||
|
||||
struct eth_ench_params
|
||||
{
|
||||
u32 bits;
|
||||
u32 sample_delay;
|
||||
u32 multicast_id;
|
||||
}__attribute__((__packed__));
|
||||
|
||||
struct eth_ench_args
|
||||
{
|
||||
struct eth_ench_io io;
|
||||
struct eth_ench_params params;
|
||||
// u16 crc;
|
||||
}__attribute__((__packed__));
|
||||
|
||||
extern void ethernet_ench(void *args, void *logic);
|
||||
extern int ethernet_ench_initlog(void *arguments, void *logic);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user