Commit 8a1ccffe authored by Lucas Russo's avatar Lucas Russo

src,include/*: standardize the way we spawn ebpm application

Now, instead of spawning a DEVIO BE application
and that application, in turn, spawn the DEVIO FE,
we are using a more modular approach in that each
DEVIO BE or DEVIO FE spawns a single application.

We will rely on the system integration (such as
systemd) to take care of our dependencies for us.
parent b38c03fc
......@@ -12,6 +12,12 @@
extern "C" {
#endif
/* BPM reverse mappping structure */
typedef struct {
int dev_id;
int smio_id;
} board_epics_map_t;
/* BPM reverse mappping structure */
typedef struct {
int bpm_id;
......@@ -24,6 +30,7 @@ typedef struct {
/* EPICS mapping definitions */
extern const board_epics_map_t board_epics_map[NUM_MAX_BPMS+1];
extern const board_epics_rev_map_t board_epics_rev_map [NUM_MAX_SLOTS+1][NUM_MAX_BPM_PER_SLOT];
extern const board_epics_opts_t board_epics_opts [NUM_MAX_SLOTS+1][NUM_MAX_BPM_PER_SLOT];
......
This diff is collapsed.
......@@ -30,6 +30,35 @@
CHECK_HAL_ERR(err, DEV_IO, "[dev_io:epics]", \
devio_err_str (err_type))
const board_epics_map_t board_epics_map[NUM_MAX_BPMS+1] = {
/* board, bpm*/
/* 0 (INVALID) */ {-1, -1},
/* 1 */ {1, 0},
/* 2 */ {1, 1},
/* 3 */ {2, 0},
/* 4 */ {2, 1},
/* 5 */ {3, 0},
/* 6 */ {3, 1},
/* 7 */ {4, 0},
/* 8 */ {4, 1},
/* 9 */ {5, 0},
/* 10 */ {5, 1},
/* 11 */ {6, 0},
/* 12 */ {6, 1},
/* 13 */ {7, 0},
/* 14 */ {7, 1},
/* 15 */ {8, 0},
/* 16 */ {8, 1},
/* 17 */ {9, 0},
/* 18 */ {9, 1},
/* 19 */ {10, 0},
/* 20 */ {10, 1},
/* 21 */ {11, 0},
/* 22 */ {11, 1},
/* 23 */ {12, 0},
/* 24 */ {12, 1}
};
/* Reverse bpm-sw <-> EPICS board mapping */
const board_epics_rev_map_t board_epics_rev_map[NUM_MAX_SLOTS+1][NUM_MAX_BPM_PER_SLOT] = {
/* board, bpm */ /* bpm_id */
......@@ -67,52 +96,52 @@ const board_epics_opts_t board_epics_opts[NUM_MAX_SLOTS+1][NUM_MAX_BPM_PER_SLOT]
.telnet_afe_port = -1},
/* 0, 1 (INVALID) */ {.telnet_port = -1,
.telnet_afe_port = -1}},
/* 1, 0 */ {{.telnet_port = 20000 + 0,
.telnet_afe_port = 20100 + 0},
/* 1, 1 */ {.telnet_port = 20000 + 1,
.telnet_afe_port = 20100 + 1}},
/* 2, 0 */ {{.telnet_port = 20000 + 2,
.telnet_afe_port = 20100 + 2},
/* 2, 1 */ {.telnet_port = 20000 + 3,
.telnet_afe_port = 20100 + 3}},
/* 3, 0 */ {{.telnet_port = 20000 + 4,
.telnet_afe_port = 20100 + 4},
/* 3, 1 */ {.telnet_port = 20000 + 5,
.telnet_afe_port = 20100 + 5}},
/* 4, 0 */ {{.telnet_port = 20000 + 6,
.telnet_afe_port = 20100 + 6},
/* 4, 1 */ {.telnet_port = 20000 + 7,
.telnet_afe_port = 20100 + 7}},
/* 5, 0 */ {{.telnet_port = 20000 + 8,
.telnet_afe_port = 20100 + 8},
/* 5, 1 */ {.telnet_port = 20000 + 9,
.telnet_afe_port = 20100 + 9}},
/* 6, 0 */ {{.telnet_port = 20000 + 10,
.telnet_afe_port = 20100 + 10},
/* 6, 1 */ {.telnet_port = 20000 + 11,
.telnet_afe_port = 20100 + 11}},
/* 7, 0 */ {{.telnet_port = 20000 + 12,
.telnet_afe_port = 20100 + 12},
/* 7, 1 */ {.telnet_port = 20000 + 13,
.telnet_afe_port = 20100 + 13}},
/* 8, 0 */ {{.telnet_port = 20000 + 14,
.telnet_afe_port = 20100 + 14},
/* 8, 1 */ {.telnet_port = 20000 + 15,
.telnet_afe_port = 20100 + 15}},
/* 9, 0 */ {{.telnet_port = 20000 + 16,
.telnet_afe_port = 20100 + 16},
/* 9, 1 */ {.telnet_port = 20000 + 17,
.telnet_afe_port = 20100 + 17}},
/* 10, 0 */ {{.telnet_port = 20000 + 18,
.telnet_afe_port = 20100 + 18},
/* 10, 1 */ {.telnet_port = 20000 + 19,
.telnet_afe_port = 20100 + 19}},
/* 11, 0 */ {{.telnet_port = 20000 + 20,
.telnet_afe_port = 20100 + 20},
/* 11, 1 */ {.telnet_port = 20000 + 21,
.telnet_afe_port = 20100 + 21}},
/* 12, 0 */ {{.telnet_port = 20000 + 22,
.telnet_afe_port = 20100 + 22},
/* 12, 1 */ {.telnet_port = 20000 + 23,
.telnet_afe_port = 20100 + 23}},
/* 1, 0 */ {{.telnet_port = 20000 + 1,
.telnet_afe_port = 20100 + 1},
/* 1, 1 */ {.telnet_port = 20000 + 2,
.telnet_afe_port = 20100 + 2}},
/* 2, 0 */ {{.telnet_port = 20000 + 3,
.telnet_afe_port = 20100 + 3},
/* 2, 1 */ {.telnet_port = 20000 + 4,
.telnet_afe_port = 20100 + 4}},
/* 3, 0 */ {{.telnet_port = 20000 + 5,
.telnet_afe_port = 20100 + 5},
/* 3, 1 */ {.telnet_port = 20000 + 6,
.telnet_afe_port = 20100 + 6}},
/* 4, 0 */ {{.telnet_port = 20000 + 7,
.telnet_afe_port = 20100 + 7},
/* 4, 1 */ {.telnet_port = 20000 + 8,
.telnet_afe_port = 20100 + 8}},
/* 5, 0 */ {{.telnet_port = 20000 + 9,
.telnet_afe_port = 20100 + 9},
/* 5, 1 */ {.telnet_port = 20000 + 10,
.telnet_afe_port = 20100 + 10}},
/* 6, 0 */ {{.telnet_port = 20000 + 11,
.telnet_afe_port = 20100 + 11},
/* 6, 1 */ {.telnet_port = 20000 + 12,
.telnet_afe_port = 20100 + 12}},
/* 7, 0 */ {{.telnet_port = 20000 + 13,
.telnet_afe_port = 20100 + 13},
/* 7, 1 */ {.telnet_port = 20000 + 14,
.telnet_afe_port = 20100 + 14}},
/* 8, 0 */ {{.telnet_port = 20000 + 15,
.telnet_afe_port = 20100 + 15},
/* 8, 1 */ {.telnet_port = 20000 + 16,
.telnet_afe_port = 20100 + 16}},
/* 9, 0 */ {{.telnet_port = 20000 + 17,
.telnet_afe_port = 20100 + 17},
/* 9, 1 */ {.telnet_port = 20000 + 18,
.telnet_afe_port = 20100 + 18}},
/* 10, 0 */ {{.telnet_port = 20000 + 19,
.telnet_afe_port = 20100 + 19},
/* 10, 1 */ {.telnet_port = 20000 + 20,
.telnet_afe_port = 20100 + 20}},
/* 11, 0 */ {{.telnet_port = 20000 + 21,
.telnet_afe_port = 20100 + 21},
/* 11, 1 */ {.telnet_port = 20000 + 22,
.telnet_afe_port = 20100 + 22}},
/* 12, 0 */ {{.telnet_port = 20000 + 23,
.telnet_afe_port = 20100 + 23},
/* 12, 1 */ {.telnet_port = 20000 + 24,
.telnet_afe_port = 20100 + 24}},
};
......@@ -30,6 +30,35 @@
CHECK_HAL_ERR(err, DEV_IO, "[dev_io:epics]", \
devio_err_str (err_type))
const board_epics_map_t board_epics_map[NUM_MAX_BPMS+1] = {
/* board, bpm*/
/* 0 (INVALID) */ {-1, -1},
/* 1 */ {1, 0},
/* 2 */ {1, 1},
/* 3 */ {2, 0},
/* 4 */ {2, 1},
/* 5 */ {3, 0},
/* 6 */ {3, 1},
/* 7 */ {4, 0},
/* 8 */ {4, 1},
/* 9 */ {5, 0},
/* 10 */ {5, 1},
/* 11 */ {6, 0},
/* 12 */ {6, 1},
/* 13 */ {7, 0},
/* 14 */ {7, 1},
/* 15 */ {8, 0},
/* 16 */ {8, 1},
/* 17 */ {9, 0},
/* 18 */ {9, 1},
/* 19 */ {10, 0},
/* 20 */ {10, 1},
/* 21 */ {11, 0},
/* 22 */ {11, 1},
/* 23 */ {12, 0},
/* 24 */ {12, 1}
};
/* Reverse bpm-sw <-> EPICS board mapping */
const board_epics_rev_map_t board_epics_rev_map[NUM_MAX_SLOTS+1][NUM_MAX_BPM_PER_SLOT] = {
/* board, bpm */ /* bpm_id */
......@@ -67,52 +96,52 @@ const board_epics_opts_t board_epics_opts[NUM_MAX_SLOTS+1][NUM_MAX_BPM_PER_SLOT]
.telnet_afe_port = -1},
/* 0, 1 (INVALID) */ {.telnet_port = -1,
.telnet_afe_port = -1}},
/* 1, 0 */ {{.telnet_port = 20000 + 0,
.telnet_afe_port = 20100 + 0},
/* 1, 1 */ {.telnet_port = 20000 + 1,
.telnet_afe_port = 20100 + 1}},
/* 2, 0 */ {{.telnet_port = 20000 + 2,
.telnet_afe_port = 20100 + 2},
/* 2, 1 */ {.telnet_port = 20000 + 3,
.telnet_afe_port = 20100 + 3}},
/* 3, 0 */ {{.telnet_port = 20000 + 4,
.telnet_afe_port = 20100 + 4},
/* 3, 1 */ {.telnet_port = 20000 + 5,
.telnet_afe_port = 20100 + 5}},
/* 4, 0 */ {{.telnet_port = 20000 + 6,
.telnet_afe_port = 20100 + 6},
/* 4, 1 */ {.telnet_port = 20000 + 7,
.telnet_afe_port = 20100 + 7}},
/* 5, 0 */ {{.telnet_port = 20000 + 8,
.telnet_afe_port = 20100 + 8},
/* 5, 1 */ {.telnet_port = 20000 + 9,
.telnet_afe_port = 20100 + 9}},
/* 6, 0 */ {{.telnet_port = 20000 + 10,
.telnet_afe_port = 20100 + 10},
/* 6, 1 */ {.telnet_port = 20000 + 11,
.telnet_afe_port = 20100 + 11}},
/* 7, 0 */ {{.telnet_port = 20000 + 12,
.telnet_afe_port = 20100 + 12},
/* 7, 1 */ {.telnet_port = 20000 + 13,
.telnet_afe_port = 20100 + 13}},
/* 8, 0 */ {{.telnet_port = 20000 + 14,
.telnet_afe_port = 20100 + 14},
/* 8, 1 */ {.telnet_port = 20000 + 15,
.telnet_afe_port = 20100 + 15}},
/* 9, 0 */ {{.telnet_port = 20000 + 16,
.telnet_afe_port = 20100 + 16},
/* 9, 1 */ {.telnet_port = 20000 + 17,
.telnet_afe_port = 20100 + 17}},
/* 10, 0 */ {{.telnet_port = 20000 + 18,
.telnet_afe_port = 20100 + 18},
/* 10, 1 */ {.telnet_port = 20000 + 19,
.telnet_afe_port = 20100 + 19}},
/* 11, 0 */ {{.telnet_port = 20000 + 20,
.telnet_afe_port = 20100 + 20},
/* 11, 1 */ {.telnet_port = 20000 + 21,
.telnet_afe_port = 20100 + 21}},
/* 12, 0 */ {{.telnet_port = 20000 + 22,
.telnet_afe_port = 20100 + 22},
/* 12, 1 */ {.telnet_port = 20000 + 23,
.telnet_afe_port = 20100 + 23}},
/* 1, 0 */ {{.telnet_port = 20000 + 1,
.telnet_afe_port = 20100 + 1},
/* 1, 1 */ {.telnet_port = 20000 + 2,
.telnet_afe_port = 20100 + 2}},
/* 2, 0 */ {{.telnet_port = 20000 + 3,
.telnet_afe_port = 20100 + 3},
/* 2, 1 */ {.telnet_port = 20000 + 4,
.telnet_afe_port = 20100 + 4}},
/* 3, 0 */ {{.telnet_port = 20000 + 5,
.telnet_afe_port = 20100 + 5},
/* 3, 1 */ {.telnet_port = 20000 + 6,
.telnet_afe_port = 20100 + 6}},
/* 4, 0 */ {{.telnet_port = 20000 + 7,
.telnet_afe_port = 20100 + 7},
/* 4, 1 */ {.telnet_port = 20000 + 8,
.telnet_afe_port = 20100 + 8}},
/* 5, 0 */ {{.telnet_port = 20000 + 9,
.telnet_afe_port = 20100 + 9},
/* 5, 1 */ {.telnet_port = 20000 + 10,
.telnet_afe_port = 20100 + 10}},
/* 6, 0 */ {{.telnet_port = 20000 + 11,
.telnet_afe_port = 20100 + 11},
/* 6, 1 */ {.telnet_port = 20000 + 12,
.telnet_afe_port = 20100 + 12}},
/* 7, 0 */ {{.telnet_port = 20000 + 13,
.telnet_afe_port = 20100 + 13},
/* 7, 1 */ {.telnet_port = 20000 + 14,
.telnet_afe_port = 20100 + 14}},
/* 8, 0 */ {{.telnet_port = 20000 + 15,
.telnet_afe_port = 20100 + 15},
/* 8, 1 */ {.telnet_port = 20000 + 16,
.telnet_afe_port = 20100 + 16}},
/* 9, 0 */ {{.telnet_port = 20000 + 17,
.telnet_afe_port = 20100 + 17},
/* 9, 1 */ {.telnet_port = 20000 + 18,
.telnet_afe_port = 20100 + 18}},
/* 10, 0 */ {{.telnet_port = 20000 + 19,
.telnet_afe_port = 20100 + 19},
/* 10, 1 */ {.telnet_port = 20000 + 20,
.telnet_afe_port = 20100 + 20}},
/* 11, 0 */ {{.telnet_port = 20000 + 21,
.telnet_afe_port = 20100 + 21},
/* 11, 1 */ {.telnet_port = 20000 + 22,
.telnet_afe_port = 20100 + 22}},
/* 12, 0 */ {{.telnet_port = 20000 + 23,
.telnet_afe_port = 20100 + 23},
/* 12, 1 */ {.telnet_port = 20000 + 24,
.telnet_afe_port = 20100 + 24}},
};
......@@ -30,6 +30,13 @@
CHECK_HAL_ERR(err, DEV_IO, "[dev_io:epics]", \
devio_err_str (err_type))
const board_epics_map_t board_epics_map[NUM_MAX_BPMS+1] = {
/* board, bpm*/
/* 0 (INVALID) */ {-1, -1},
/* 1 */ {1, 0},
/* 2 */ {1, 1},
};
/* Reverse bpm-sw <-> EPICS board mapping */
const board_epics_rev_map_t board_epics_rev_map[NUM_MAX_SLOTS+1][NUM_MAX_BPM_PER_SLOT] = {
/* board, bpm */ /* bpm_id */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment