30 static const CnvParams _hex = CNV_DEFAULT_HEX;
33 const char cmd_edfa_help[] =
"EDFA - Configure and Read";
38 bool cmd_edfa_exec(
int argc,
const char *args[])
45 if (argc < 1 || ((argc == 1) && (strcmp(args[0],
"help") == 0))) {
46 puts(
"usage: edfa status -- read status");
47 puts(
"edfa emi on|off -- emission val: on ,off ");
48 puts(
"edfa read <arg>");
49 puts(
" <arg> can be:");
50 puts(
" op -- read composite output power");
51 puts(
" ip -- read composite input power");
52 puts(
" pdcu -- read pump diodes current");
53 puts(
" temp -- read case temperature");
54 puts(
" powsp -- read composite power setpoint for APC mode");
55 puts(
" maxop -- read maximum composite output power for APC mode");
57 puts(
" sp -- read gain setpoint for AGC mode");
58 puts(
" gain -- read actual gain ");
59 puts(
" maxgain -- read maximum gain for AGC ");
60 puts(
" mingain -- read minimum gain for AGC");
62 puts(
" maxtemp -- read maximum temperature");
63 puts(
" maxpdcu -- read pump diodes current");
64 puts(
"edfa info -- part number, fw rev, manufact. day, SN");
65 puts(
"edfa apc - Makes APC (Power Stabilization) mode the device control mode");
67 puts(
"edfa agc - Makes AGC (Gain Stabilization) mode the device control mode");
69 puts(
"edfa set op <int> -- set composite output power for APC; <val> = value in dBm");
70 puts(
"edfa set optest -- set composite output power for APC; <val> = value in dBm");
72 puts(
"edfa set gain <value> -- set output gain for AGC; <val> = value in dB");
76 else if(argc == 1 && strcmp(args[0],
"status") == 0){
77 edfaReadStatus(&emi,&start);
78 printf(
"emi = %d - startup = %d\n",emi?1:0,start?1:0);
80 else if(argc == 2 && strcmp(args[0],
"emi") == 0){
81 if( strcmp(args[1],
"on")== 0 )edfaEmOn();
82 else if( strcmp(args[1],
"off")== 0 )edfaEmOff();
85 else if(argc == 2 && strcmp(args[0],
"read") == 0){
86 if( strcmp(args[1],
"op")== 0 ){
91 printf(
"Output Power = %d mdBm\n",edfaOutputPower());
93 else if( strcmp(args[1],
"ip")== 0 ){
97 printf(
"Input Power = %d mdBm\n",edfaInputPower());
99 else if( strcmp(args[1],
"pdcur")== 0 ){
103 printf(
"Diode current = %d uA\n",edfaPumpCur());
105 else if( strcmp(args[1],
"temp")== 0 ){
109 printf(
"Temp = %d mC\n",edfaTemp());
111 else if( strcmp(args[1],
"powsp")== 0 ){
115 printf(
"Power in APC = %d mdBm\n",edfaReadSetpoint());
117 else if( strcmp(args[1],
"maxop")== 0 ){
118 edfaReadMaxCompOutPw(&returnedString);
119 printf(
"Max Out Pow APC = %s dBm\n",returnedString);
122 else if( strcmp(args[1],
"gsp")== 0 ){
123 edfaReadGainSet(&returnedString);
124 printf(
"Gain set AGC = %s dB\n",returnedString);
126 else if( strcmp(args[1],
"gain")== 0 ){
127 edfaReadActGain(&returnedString);
128 printf(
"Actual Gain = %s dB\n",returnedString);
130 else if( strcmp(args[1],
"maxgain")== 0 ){
131 edfaReadMaxGain(&returnedString);
132 printf(
"Max Gain AGC = %s dB\n",returnedString);
134 else if( strcmp(args[1],
"mingain")== 0 ){
135 edfaReadMinGain(&returnedString);
136 printf(
"Min Gain AGC = %s dB\n",returnedString);
139 else if( strcmp(args[1],
"maxtemp")== 0 ){
140 edfaReadMaxTemp(&returnedString);
141 printf(
"Max temp = %s C\n",returnedString);
143 else if( strcmp(args[1],
"maxpdcu")== 0 ){
144 edfaReadMaxPumpDiodeCur(&returnedString);
145 printf(
"Max diodes cur = %s mA\n",returnedString);
149 else if(argc == 1 && strcmp(args[0],
"info") == 0){
150 edfaReadPart(&returnedString);
151 printf(
"Part #: %s\n",returnedString);
152 edfaReadFwVer(&returnedString);
153 printf(
"FW: %s\n",returnedString);
154 edfaReadDate(&returnedString);
155 printf(
"Man.: %s\n",returnedString);
156 edfaReadSerial(&returnedString);
157 printf(
"SN: %s\n",returnedString);
159 else if(argc == 1 && strcmp(args[0],
"apc") == 0){
160 edfaSetAPCMode(&returnedString);
161 printf(
"%s\n",returnedString);
164 else if(argc == 1 && strcmp(args[0],
"agc") == 0){
165 edfaSetAGCMode(&returnedString);
166 printf(
"%s\n",returnedString);
169 else if(argc == 3 && strcmp(args[0],
"set") == 0){
170 if( strcmp(args[1],
"op")== 0 ){
171 edfaSetCompOutPw(args[2],&returnedString);
172 printf(
"%s\n",returnedString);
176 else if( strcmp(args[1],
"gain")== 0 ){
177 edfaSetGainSet(args[2],&returnedString);
178 printf(
"%s\n",returnedString);
185 else if(argc == 2 && strcmp(args[0],
"set") == 0){
186 if( strcmp(args[1],
"optest")== 0 ){
187 edfaWriteSetpoint(4.532,&returnedString);
188 printf(
"%s\n",returnedString);
Simple task scheduler for tasks.
#define CNV_DEFAULT
Default conversion/formatting parameters (base 10).
Manages the global system error.
This structure provides information about formatting and parsing.
This module is responsible for distributing error codes.
EDFA-EAU (30-C3-20-C) Uart driver.
This module implements parsing and formating of strings and integers.