]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/lx-rocon.git/blob - sw/app/rocon/appl_defs.h
RoCoN: initial unfinished support for SPI connected Flash.
[fpga/lx-cpu1/lx-rocon.git] / sw / app / rocon / appl_defs.h
1 #ifndef _TEST_LPC_H
2 #define _TEST_LPC_H
3
4 #ifdef __cplusplus
5 /*extern "C" {*/
6 #endif
7
8 #include "appl_config.h"
9
10 #include <types.h>
11 #include <lt_timer.h>
12
13 #ifdef CONFIG_APP_ROCON_WITH_SUITK
14 #define APPL_WITH_SUITK
15 #endif /*CONFIG_APP_ROCON_WITH_SUITK*/
16
17 #ifdef CONFIG_APP_ROCON_WITH_SIM_POSIX
18 #define APPL_WITH_SIM_POSIX
19 #define APPL_WITH_FINALIZATION_CHECK
20 #endif /*CONFIG_APP_ROCON_WITH_SIM_POSIX*/
21
22 #ifdef CONFIG_APP_ROCON_WITH_USB
23 #define APPL_WITH_USB
24 #endif /*CONFIG_APP_ROCON_WITH_USB*/
25
26 #ifdef CONFIG_APP_ROCON_WITH_ULAN
27 #define APPL_WITH_ULAN
28 #include <ul_lib/ulan.h>
29 #include <uloi_base.h>
30 #ifdef CONFIG_ULAN_DY
31 #include <uldy_base.h>
32 extern ul_dyac_t *ul_dyac;
33 #endif /*CONFIG_ULAN_DY*/
34 /* ulan identification */
35 extern const char *ul_idstr;
36 /* ulan variables */
37 extern ul_fd_t ul_fd, ul_fd1;
38 extern ul_msginfo umsginfo;
39 extern uloi_coninfo_t *coninfo;
40 #endif /*CONFIG_APP_ROCON_WITH_ULAN*/
41
42 extern int usb_enable_flag;
43
44 extern int app_exit_request;
45
46 #ifdef CONFIG_OC_I2C_DRV_SYSLESS
47 #define APPL_EEPROM_ADDR_SIZE 2
48
49 #define DISTORE_EEPROM_I2C_ADDR 0xA0
50
51 #define DISTORE_EEPROM_SIGNATURE 0x51
52 #define DISTORE_EEPROM_HEADER_SIZE 6
53
54 #define DISTORE_EEPROM_PAGE 0x0020
55 #define DISTORE_EEPROM_SIZE 0x2000
56 #define DISTORE_EEPROM_USER_START 0x100
57 #define DISTORE_EEPROM_USER_SIZE  0x400
58 /* user end 0x100 + 2 * 0x400 = 0x900 */
59
60 /*
61 #define APPL_WITH_DISTORE_EEPROM_USER
62 #define appl_distore_eeprom_user_des lcd_distore_user_des
63 int appl_distore_init(void);
64 int appl_distore_user_set_check4change(void);
65 int appl_distore_user_restore(void);
66 int appl_distore_user_change_check(void);
67 */
68
69 /*
70 #define APPL_WITH_TIMEPROG_EEPROM_STORE
71 #define TIMEPROG_EEPROM_STORE_START 0x0900
72 #define TIMEPROG_EEPROM_STORE_SIZE  0x1700
73 */
74
75 #define appl_timeprog_eeprom_identifier lcd_timeprog
76 long timeprog_stored_size;
77 int appl_timeprog_eeprom_restore(void);
78 #endif /*CONFIG_OC_I2C_DRV_SYSLESS*/
79
80 #define APPL_TIMEPROG_AREA_SIZE 0x1700
81
82 #ifdef CONFIG_KEYVAL
83 /*
84 #define KVPB_KEYID_SETUP_SERVICE  0x104
85 #define KVPB_SETUP_SERVICE_MAX_SIZE 1024
86 #define APPL_WITH_DISTORE_KEYVAL_SERVICE
87 #define setup_distore_service_des lcd_distore_service_des
88 int setup_distore_restore(void);
89 int setup_distore_store(void);
90 */
91 #endif /*CONFIG_KEYVAL*/
92
93 struct mtd_spi_state_t;
94
95 extern struct mtd_spi_state_t mtd_spi_state;
96
97 LT_TIMER_DEC(lt_10msec)
98
99 #ifdef APPL_WITH_ULAN
100 extern const uloi_objdes_array_t uloi_objdes_main;
101 #endif /*APPL_WITH_ULAN*/
102
103 void mloop(void);
104
105 int gui_init(void);
106
107 int gui_poll(void);
108
109 #define APPL_WITH_GUI_POLL_EXTENSION
110
111 int cmdproc_poll(void);
112
113 void save_cfg(void);
114
115 extern int usb_loadder_active;
116
117 int usb_app_init(void);
118
119 int usb_app_poll(void);
120
121 int usb_app_fill_serial_number(uint32_t ul_sn);
122
123 #define APPL_ACT_STOP          1
124 #define APPL_ACT_STOP_CER      2
125 #define APPL_ACT_MOTSTART      3
126 #define APPL_ACT_MOTSTART_CER  4
127 #define APPL_ACT_PURGE         5
128 #define APPL_ACT_PRGRUN        6
129 #define APPL_ACT_PRGEND        7
130 #define APPL_ACT_ERRCLR        8
131 #define APPL_ACT_PRGEND_PREP   9
132 #define APPL_ACT_PRGHOLD      10
133 #define APPL_ACT_PRGCONT      11
134 #define APPL_ACT_SETUP_SAVE   12
135 #define APPL_ACT_SERVICE_SAVE 13
136
137 int appl_global_action(int action_code);
138
139 /* Configuration of LX MASTER to LXPWR board */
140 #define PXMC_ROCON_TIMED_BY_RX_DONE 1
141
142 #define ROCON_RX_TIM  LPC_TIM2
143 #define ROCON_RX_IRQn TIMER2_IRQn
144
145 IRQ_HANDLER_FNC(pxmc_rocon_rx_done_isr);
146 int pxmc_rocon_rx_done_isr_setup(irq_handler_t rx_done_isr_handler);
147
148 extern volatile void *pxmc_rocon_rx_data_hist_buff;
149 extern volatile void *pxmc_rocon_rx_data_hist_buff_end;
150 extern int pxmc_rocon_rx_data_hist_mode;
151
152 extern uint32_t pxmc_rocon_rx_cycle_time;
153 extern uint32_t pxmc_rocon_rx_irq_latency;
154 extern uint32_t pxmc_rocon_rx_irq_latency_max;
155
156 /* LPC Quadrature encoder events processing */
157 struct lpc_qei_state_t;
158 void pxmc_lpc_qei_callback_index(struct lpc_qei_state_t *qst, void *context);
159 void lpc_qei_callback_cmpos0(struct lpc_qei_state_t *qst, void *context);
160 void lpc_qei_callback_cmpos1(struct lpc_qei_state_t *qst, void *context);
161
162 void lcd_sfi_isr(void);
163 void lcd_sfi_slow_isr(void);
164
165 extern int appl_errstop_mode;
166 extern int appl_idlerel_time;
167 int pxmc_process_state_check(unsigned long *pbusy_bits,
168                              unsigned long *perror_bits);
169
170 long pxmc_sfi_spent_time_max;
171
172
173 int pxmc_initialize(void);
174 int pxmc_done(void);
175 int pxmc_coordmv_process(void);
176 void pxmc_sfi_isr(void);
177 void do_pxmc_coordmv(void);
178
179 #ifndef PXMC_ROCON_TIMED_BY_RX_DONE
180   #define PXMC_APPL_RUN_AT_FAST_SFI_ENTRIES \
181            pxmc_sfi_isr(); \
182            do_pxmc_coordmv();
183 #else  /*PXMC_ROCON_TIMED_BY_RX_DONE*/
184   #define PXMC_APPL_RUN_AT_FAST_SFI_ENTRIES
185 #endif /*PXMC_ROCON_TIMED_BY_RX_DONE*/
186
187 #define APPL_RUN_AT_FAST_SFI do { \
188     PXMC_APPL_RUN_AT_FAST_SFI_ENTRIES \
189     ; \
190   } while(0)
191
192 #define APPL_RUN_AT_SLOW_SFI do { \
193     /*rocon_sfi_slow_isr();*/ \
194     ; \
195   } while(0)
196
197 #define APPL_SLOW_SFI_USEC 10000
198
199 /* Interrupt of the unused peripheral which is used to activate slow IRQ handling */
200 #define SLOW_SFI_INVOKE_IRQn SSP2_IRQn
201
202 #define APPL_RUN_AT_MAIN_LOOP do { \
203    pxmc_coordmv_process(); \
204  } while(0)
205
206 #ifndef CONFIG_APP_ROCON_WITH_SIM_POSIX
207 void kbd_lc61spi_SetIndicatorsState(unsigned long mask, unsigned long xor_state);
208 #define kbd_SetIndicatorsState kbd_lc61spi_SetIndicatorsState
209 #endif
210 static inline void appl_update_indicators(void)
211 {
212   /*lcd_update_indicators();*/
213 }
214 extern int lcd_backlight_level;
215 int lcd_set_constrast_level(int level);
216
217 #define KBD_LED_RUN_b    15
218 #define KBD_LED_HOLD_b   14
219 #define KBD_LED_PURGE_b  13
220 #define KBD_LED_ERROR_b  12
221 #define KBD_LED_A_b       6
222 #define KBD_LED_B_b       5
223 #define KBD_LED_C_b       4
224 #define KBD_LED_D_b       3
225 #define KBD_LED_MOTOR_b   1
226
227 #define KBD_LED_BACKLO_b 11
228 #define KBD_LED_BACKHI_b 10
229 #define KBD_LED_BEEPF_b   9
230 #define KBD_LED_BEEPN_b   8
231
232 #define KBD_LED_RUN_m (1 << KBD_LED_RUN_b)
233 #define KBD_LED_HOLD_m  (1 << KBD_LED_HOLD_b)
234 #define KBD_LED_PURGE_m (1 << KBD_LED_PURGE_b)
235 #define KBD_LED_ERROR_m (1 << KBD_LED_ERROR_b)
236 #define KBD_LED_A_m (1 << KBD_LED_A_b)
237 #define KBD_LED_B_m (1 << KBD_LED_B_b)
238 #define KBD_LED_C_m (1 << KBD_LED_C_b)
239 #define KBD_LED_D_m (1 << KBD_LED_D_b)
240 #define KBD_LED_MOTOR_m (1 << KBD_LED_MOTOR_b)
241
242 #define KBD_LED_BACKLO_m (1 << KBD_LED_BACKLO_b)
243 #define KBD_LED_BACKHI_m (1 << KBD_LED_BACKHI_b)
244 #define KBD_LED_BEEPN_m (1 << KBD_LED_BEEPN_b)
245 #define KBD_LED_BEEPF_m (1 << KBD_LED_BEEPF_b)
246
247 #ifdef __cplusplus
248 /*}*/ /* extern "C"*/
249 #endif
250
251 #endif /* _TEST_LPC_H */
252