Public
Edited
Jan 22, 2022
1 fork
Insert cell
Insert cell
Insert cell
await toAdifRSA(`

2021-05-20 | 05:34 | OH2BCI | 579 | 579 | KP20FF | A0-7 | A | Jussi |
2021-09-22 | 05:38 | SA5IKN | 579 | 579 | J089TT | RS-44 | B | Max |
2022-01-20 | 09:42 | EA1RX | 59 | 59 | IN52OD | FO-29 | J | Carlos |
2022-01-17 | 20:49 | RA3FP | 579 | 579 | KO94AV | QO-100 | Q | Andrej |


`)
Insert cell
toAdifRSA = desc => {

const text2array = rows =>
((typeof rows === 'string') ? rows.trim().split('\n') : rows)
.map((row, i) =>
((typeof row === 'string') ? row.trim().split('|') : row)
.map(cell => cell.trim()));

let arr = text2array(desc);

return arr.map(e => {
const date = e[0].replace(/-/g, '');
const time = e[1].replace(/:/, '');
const call = e[2];
const mode = (e[4].length === 3) ? 'CW' : 'SSB';
const rcvd = e[3];
const sent = e[4];
const grid = e[5];
const sate = e[6];
const view = e[7];
return `<QSO_DATE:8>${date}<TIME_ON:4>${time}<CALL:${call.length}>${call}<MODE:${mode.length}>${mode}<BAND:4>13CM<FREQ:4>2400<BAND_RX:3>3CM <FREQ_RX:5>10489<PROP_MODE:3>SAT<SAT_NAME:${sate.length}>${sate}<MY_GRIDSQUARE:6>KO34KI<RST_RCVD:${rcvd.length}>${rcvd}<RST_SENT:${sent.length}>${sent}<GRIDSQUARE:${grid.length}>${grid}
<EOR>
`;
}).join('');
}
Insert cell
мои недоделки-хотелки по ЧЕТЫРЕМ ПАРАМЕТРАМ
если view=A, тогда BAND=2M, FREQ=146, BAND_RX=10M, FREQ_RX=29.4
если view=B, тогда BAND=2M, FREQ=146, BAND_RX=70CM, FREQ_RX=435
если view=J, тогда BAND=70CM, FREQ=435, BAND_RX=2M, FREQ_RX=146
если view=Q, тогда BAND=13CM, FREQ=2400, BAND_RX=3CM, FREQ_RX=10489

Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more