Add parameter perlim: continous sequence or one time sequence.

This commit is contained in:
Holger Vogt 2025-05-27 13:33:17 +02:00
parent 5182d7e4b2
commit f247d1e2ce
2 changed files with 21 additions and 3 deletions

View File

@ -176,6 +176,7 @@ void cm_seegen(ARGS) /* structure holding parms,
*last_ctrl = ctrl;
}
/* the double exponential current pulse function */
if (tcurr < *last_t_value)
out = 0;
else
@ -188,6 +189,12 @@ void cm_seegen(ARGS) /* structure holding parms,
/* set the time for the next pulse */
*last_t_value = *last_t_value + tperiod;
(*pulse_number)++;
if (*pulse_number > PORT_SIZE(out)) {
if (PARAM(perlim) == FALSE)
*pulse_number = 1;
else
*last_t_value = 1e12; /* stop any output */
}
}
if (*pulse_number - 1 < PORT_SIZE(out))
OUTPUT(out[*pulse_number - 1]) = out;

View File

@ -9,14 +9,14 @@ Project Flowspace
AUTHORS
19 May 2025
Holger Vogt 19 May 2025
SUMMARY
This file contains the interface specification file for the
analog ilimit code model.
analog seegen code model.
===============================================================================*/
@ -73,6 +73,17 @@ Vector: no no
Vector_Bounds: - -
Null_Allowed: yes yes
PARAMETER_TABLE:
Parameter_Name: perlim
Description: "pulse repetition limited"
Data_Type: boolean
Default_Value: TRUE
Limits: -
Vector: no
Vector_Bounds: -
Null_Allowed: yes
STATIC_VAR_TABLE:
Static_Var_Name: last_t_value