Hi Thomas and thank you for your fast reply!
Of course IPC is a hell, even between forked processes - shared memory, pipes etc. Of course I do not meant such approach for production environment - I'd rather thought about quick and dirty hack in order to see that things work.
Airmar 150WX sends data in NMEA 0183 format which format can be seen at
http://www.airmartechnology.com/uploads/installguide/PB100TechnicalManual_rev1.007.pdfToday I gathered some data from device and you can see it:
$GPGGA,102108.50,4207.5457,N,02446.4413,E,1,9,1.0,148.0,M,43.5,M,,*50
$GPVTG,122.0,T,117.3,M,0.1,N,0.1,K,A*26
$WIMWV,91.5,R,0.3,N,A*1D
$WIMDA,29.9139,I,1.0130,B,19.1,C,,,23.5,,-2.2,C,263.2,T,258.5,M,0.3,N,0.2,M*7D
$GPZDA,102109.00,03,04,2015,00,00*6C
$YXXDR,A,-2.9,D,PTCH,A,-18.7,D,ROLL*68
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9954,B,STNP*4A
$WIMWV,91.5,R,0.3,N,A*1D
$GPGGA,102109.50,4207.5457,N,02446.4413,E,1,9,1.0,148.1,M,43.5,M,,*50
$GPVTG,125.3,T,120.6,M,0.1,N,0.1,K,A*23
$WIMWV,91.5,R,0.2,N,A*1C
$WIMDA,29.9109,I,1.0129,B,19.1,C,,,23.5,,-2.2,C,268.0,T,263.3,M,0.2,N,0.1,M*73
$GPZDA,102110.00,03,04,2015,00,00*64
$YXXDR,A,-2.9,D,PTCH,A,-18.7,D,ROLL*68
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9953,B,STNP*4D
$WIMWV,91.5,R,0.2,N,A*1C
$GPGGA,102110.50,4207.5458,N,02446.4413,E,1,9,1.0,148.2,M,43.5,M,,*54
$GPVTG,126.0,T,121.3,M,0.1,N,0.1,K,A*27
$WIMWV,91.5,R,0.3,N,A*1D
$WIMDA,29.9139,I,1.0130,B,19.1,C,,,23.5,,-2.2,C,262.8,T,258.1,M,0.3,N,0.2,M*72
$GPZDA,102111.00,03,04,2015,00,00*65
$YXXDR,A,-2.9,D,PTCH,A,-18.7,D,ROLL*68
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9954,B,STNP*4A
$WIMWV,91.5,R,0.3,N,A*1D
$GPGGA,102111.50,4207.5458,N,02446.4412,E,1,9,1.0,148.4,M,43.5,M,,*52
$GPVTG,139.9,T,135.2,M,0.0,N,0.0,K,A*24
$WIMWV,91.5,R,0.1,N,A*1F
$WIMDA,29.9139,I,1.0130,B,19.1,C,,,23.5,,-2.2,C,280.8,T,276.1,M,0.1,N,0.1,M*73
$GPZDA,102112.00,03,04,2015,00,00*66
$YXXDR,A,-3.0,D,PTCH,A,-18.8,D,ROLL*6F
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9953,B,STNP*4D
$WIMWV,91.5,R,0.2,N,A*1C
$GPGGA,102112.50,4207.5458,N,02446.4412,E,1,9,1.0,148.7,M,43.5,M,,*52
$GPVTG,125.6,T,120.9,M,0.0,N,0.0,K,A*29
$WIMWV,91.5,R,0.2,N,A*1C
$WIMDA,29.9139,I,1.0130,B,19.1,C,,,23.5,,-2.2,C,251.6,T,246.9,M,0.2,N,0.1,M*79
$GPZDA,102113.00,03,04,2015,00,00*67
$YXXDR,A,-2.9,D,PTCH,A,-18.7,D,ROLL*68
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9953,B,STNP*4D
$WIMWV,91.5,R,0.3,N,A*1D
$GPGGA,102113.50,4207.5458,N,02446.4412,E,1,9,1.0,148.8,M,43.5,M,,*5C
$GPVTG,142.1,T,137.4,M,0.0,N,0.0,K,A*24
$WIMWV,91.5,R,0.2,N,A*1C
$WIMDA,29.9168,I,1.0131,B,19.1,C,,,23.5,,-2.2,C,251.6,T,246.9,M,0.2,N,0.1,M*7C
$GPZDA,102114.00,03,04,2015,00,00*60
$YXXDR,A,-3.0,D,PTCH,A,-18.8,D,ROLL*6F
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9954,B,STNP*4A
$WIMWV,91.5,R,0.2,N,A*1C
$GPGGA,102114.50,4207.5458,N,02446.4412,E,1,9,1.0,148.9,M,43.5,M,,*5A
$GPVTG,128.0,T,123.3,M,0.0,N,0.0,K,A*2B
$WIMWV,91.5,R,0.2,N,A*1C
$WIMDA,29.9139,I,1.0130,B,19.1,C,,,23.4,,-2.2,C,251.7,T,247.0,M,0.2,N,0.1,M*71
$GPZDA,102115.00,03,04,2015,00,00*61
$YXXDR,A,-2.9,D,PTCH,A,-18.7,D,ROLL*68
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9953,B,STNP*4D
$WIMWV,91.5,R,0.3,N,A*1D
$GPGGA,102115.50,4207.5458,N,02446.4412,E,1,9,1.0,149.0,M,43.5,M,,*53
$GPVTG,120.5,T,115.8,M,0.2,N,0.3,K,A*29
$WIMWV,91.5,R,0.2,N,A*1C
$WIMDA,29.9139,I,1.0130,B,19.1,C,,,23.4,,-2.2,C,274.6,T,269.9,M,0.3,N,0.2,M*70
$HCHDT,160.1,T*2F
$GPZDA,102116.00,03,04,2015,00,00*62
$YXXDR,A,-2.9,D,PTCH,A,-18.7,D,ROLL*68
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9953,B,STNP*4D
$WIMWV,91.5,R,0.3,N,A*1D
$GPGGA,102116.50,4207.5457,N,02446.4412,E,1,9,1.0,149.2,M,43.5,M,,*5D
$GPVTG,122.4,T,117.7,M,0.2,N,0.3,K,A*27
$WIMWV,91.5,R,0.3,N,A*1D
$WIMDA,29.9198,I,1.0132,B,19.1,C,,,23.4,,-2.2,C,270.4,T,265.7,M,0.4,N,0.2,M*7A
$GPZDA,102117.00,03,04,2015,00,00*63
$YXXDR,A,-2.9,D,PTCH,A,-18.7,D,ROLL*68
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9954,B,STNP*4A
$WIMWV,91.5,R,0.3,N,A*1D
$GPGGA,102117.50,4207.5457,N,02446.4413,E,1,9,1.0,149.3,M,43.5,M,,*5C
$GPVTG,115.4,T,110.7,M,0.2,N,0.3,K,A*24
$WIMWV,91.5,R,0.2,N,A*1C
$WIMDA,29.9168,I,1.0131,B,19.1,C,,,23.4,,-2.2,C,273.4,T,268.7,M,0.3,N,0.2,M*7F
$GPZDA,102118.00,03,04,2015,00,00*6C
$YXXDR,A,-2.9,D,PTCH,A,-18.7,D,ROLL*68
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9953,B,STNP*4D
$WIMWV,91.5,R,0.3,N,A*1D
$GPGGA,102118.50,4207.5457,N,02446.4413,E,1,9,1.0,149.4,M,43.5,M,,*54
$GPVTG,123.1,T,118.4,M,0.1,N,0.1,K,A*2E
$WIMWV,91.5,R,0.2,N,A*1C
$WIMDA,29.9168,I,1.0131,B,19.1,C,,,23.4,,-2.2,C,266.7,T,262.0,M,0.2,N,0.1,M*77
$GPZDA,102119.00,03,04,2015,00,00*6D
$YXXDR,A,-2.9,D,PTCH,A,-18.7,D,ROLL*68
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9953,B,STNP*4D
$WIMWV,91.5,R,0.3,N,A*1D
I gave a look to utilmeter.py and yes, it is not complicated even for a newbie like me :). I think it can be easily rewritten but I'm still not aware about the whole mechanism of weewx and particularly with the fields which are not present in Airmar's data or with fields that are present but not handled in weewx, getting/setting date of device - it is not present in 150WX etc.
I'm still reading the driver's code and who knows - may be I'll try to write on python :).
Regards
Alex