1 /* Types */ 2 struct cwirc_keyer_state 3 { 4 T_BOOL keyer_initialized; /* Put 0 here for the first call to the keyer */ 5 T_BOOL prev_dit; 6 T_BOOL prev_dah; 7 int last_element; /* -1 -> nothing, 0 -> dit, 1 -> dah */ 8 int current_element; /* -1 -> nothing, 0 -> dit, 1 -> dah */ 9 T_BOOL insert_inverted_element; 10 int iambic_in_element; /* 0 -> none, 1 -> squeezed, 2 -> released */ 11 T_BOOL paddles_squeezed_after_mid_element; 12 double beep_timeout; 13 double mid_element_timeout; 14 double element_timeout; 15 double delay_timeout; 16 int delay_type; /* 0 -> none, 1 -> inter-char spacing, 17 2 -> inter-word spacing */ 18 }; 19 20 21 22 /* Variables */ 23 extern char cwirc_available_iambic_modes[][10]; 24 25 26 27 /* Prototypes */ 28 T_BOOL cwirc_run_keyer(struct cwirc_keyer_state *is,T_BOOL dit,T_BOOL dah, 29 int wpm,int iambicmode,T_BOOL midelementmodeB,T_BOOL ditmemory, 30 T_BOOL dahmemory,T_BOOL autocharspacing,T_BOOL autowordspacing, 31 int weight,double ticklen); 32