@@ -652,7 +652,7 @@ MsgEphemerisSbas.prototype.fieldSpec.push(['a_gf0', 'writeDoubleLE', 8]);
652
652
MsgEphemerisSbas . prototype . fieldSpec . push ( [ 'a_gf1' , 'writeDoubleLE' , 8 ] ) ;
653
653
654
654
/**
655
- * SBP class for message MSG_EPHEMERIS_GLO (0x0085).
655
+ * SBP class for message MSG_EPHEMERIS_GLO_DEP_B (0x0085).
656
656
*
657
657
* The ephemeris message returns a set of satellite orbit parameters that is used
658
658
* to calculate GLO satellite position, velocity, and clock offset. Please see the
@@ -669,6 +669,53 @@ MsgEphemerisSbas.prototype.fieldSpec.push(['a_gf1', 'writeDoubleLE', 8]);
669
669
*
670
670
* @param sbp An SBP object with a payload to be decoded.
671
671
*/
672
+ var MsgEphemerisGloDepB = function ( sbp , fields ) {
673
+ SBP . call ( this , sbp ) ;
674
+ this . messageType = "MSG_EPHEMERIS_GLO_DEP_B" ;
675
+ this . fields = ( fields || this . parser . parse ( sbp . payload ) ) ;
676
+
677
+ return this ;
678
+ } ;
679
+ MsgEphemerisGloDepB . prototype = Object . create ( SBP . prototype ) ;
680
+ MsgEphemerisGloDepB . prototype . messageType = "MSG_EPHEMERIS_GLO_DEP_B" ;
681
+ MsgEphemerisGloDepB . prototype . msg_type = 0x0085 ;
682
+ MsgEphemerisGloDepB . prototype . constructor = MsgEphemerisGloDepB ;
683
+ MsgEphemerisGloDepB . prototype . parser = new Parser ( )
684
+ . endianess ( 'little' )
685
+ . nest ( 'common' , { type : EphemerisCommonContent . prototype . parser } )
686
+ . doublele ( 'gamma' )
687
+ . doublele ( 'tau' )
688
+ . array ( 'pos' , { length : 3 , type : 'doublele' } )
689
+ . array ( 'vel' , { length : 3 , type : 'doublele' } )
690
+ . array ( 'acc' , { length : 3 , type : 'doublele' } ) ;
691
+ MsgEphemerisGloDepB . prototype . fieldSpec = [ ] ;
692
+ MsgEphemerisGloDepB . prototype . fieldSpec . push ( [ 'common' , EphemerisCommonContent . prototype . fieldSpec ] ) ;
693
+ MsgEphemerisGloDepB . prototype . fieldSpec . push ( [ 'gamma' , 'writeDoubleLE' , 8 ] ) ;
694
+ MsgEphemerisGloDepB . prototype . fieldSpec . push ( [ 'tau' , 'writeDoubleLE' , 8 ] ) ;
695
+ MsgEphemerisGloDepB . prototype . fieldSpec . push ( [ 'pos' , 'array' , 'writeDoubleLE' , function ( ) { return 8 ; } , 3 ] ) ;
696
+ MsgEphemerisGloDepB . prototype . fieldSpec . push ( [ 'vel' , 'array' , 'writeDoubleLE' , function ( ) { return 8 ; } , 3 ] ) ;
697
+ MsgEphemerisGloDepB . prototype . fieldSpec . push ( [ 'acc' , 'array' , 'writeDoubleLE' , function ( ) { return 8 ; } , 3 ] ) ;
698
+
699
+ /**
700
+ * SBP class for message MSG_EPHEMERIS_GLO (0x0087).
701
+ *
702
+ * The ephemeris message returns a set of satellite orbit parameters that is used
703
+ * to calculate GLO satellite position, velocity, and clock offset. Please see the
704
+ * GLO ICD 5.1 "Table 4.5 Characteristics of words of immediate information
705
+ * (ephemeris parameters)" for more details.
706
+ *
707
+ * Fields in the SBP payload (`sbp.payload`):
708
+ * @field common EphemerisCommonContent Values common for all ephemeris types
709
+ * @field gamma number (float, 8 bytes) Relative deviation of predicted carrier frequency from nominal
710
+ * @field tau number (float, 8 bytes) Correction to the SV time
711
+ * @field d_tau number (float, 8 bytes) Equipment delay between L1 and L2
712
+ * @field pos array Position of the SV at tb in PZ-90.02 coordinates system
713
+ * @field vel array Velocity vector of the SV at tb in PZ-90.02 coordinates system
714
+ * @field acc array Acceleration vector of the SV at tb in PZ-90.02 coordinates sys
715
+ * @field fcn number (unsigned 8-bit int, 1 byte) Frequency slot. FCN+8 (that is [1..14]). 0 or 0xFF for invalid
716
+ *
717
+ * @param sbp An SBP object with a payload to be decoded.
718
+ */
672
719
var MsgEphemerisGlo = function ( sbp , fields ) {
673
720
SBP . call ( this , sbp ) ;
674
721
this . messageType = "MSG_EPHEMERIS_GLO" ;
@@ -678,23 +725,27 @@ var MsgEphemerisGlo = function (sbp, fields) {
678
725
} ;
679
726
MsgEphemerisGlo . prototype = Object . create ( SBP . prototype ) ;
680
727
MsgEphemerisGlo . prototype . messageType = "MSG_EPHEMERIS_GLO" ;
681
- MsgEphemerisGlo . prototype . msg_type = 0x0085 ;
728
+ MsgEphemerisGlo . prototype . msg_type = 0x0087 ;
682
729
MsgEphemerisGlo . prototype . constructor = MsgEphemerisGlo ;
683
730
MsgEphemerisGlo . prototype . parser = new Parser ( )
684
731
. endianess ( 'little' )
685
732
. nest ( 'common' , { type : EphemerisCommonContent . prototype . parser } )
686
733
. doublele ( 'gamma' )
687
734
. doublele ( 'tau' )
735
+ . doublele ( 'd_tau' )
688
736
. array ( 'pos' , { length : 3 , type : 'doublele' } )
689
737
. array ( 'vel' , { length : 3 , type : 'doublele' } )
690
- . array ( 'acc' , { length : 3 , type : 'doublele' } ) ;
738
+ . array ( 'acc' , { length : 3 , type : 'doublele' } )
739
+ . uint8 ( 'fcn' ) ;
691
740
MsgEphemerisGlo . prototype . fieldSpec = [ ] ;
692
741
MsgEphemerisGlo . prototype . fieldSpec . push ( [ 'common' , EphemerisCommonContent . prototype . fieldSpec ] ) ;
693
742
MsgEphemerisGlo . prototype . fieldSpec . push ( [ 'gamma' , 'writeDoubleLE' , 8 ] ) ;
694
743
MsgEphemerisGlo . prototype . fieldSpec . push ( [ 'tau' , 'writeDoubleLE' , 8 ] ) ;
744
+ MsgEphemerisGlo . prototype . fieldSpec . push ( [ 'd_tau' , 'writeDoubleLE' , 8 ] ) ;
695
745
MsgEphemerisGlo . prototype . fieldSpec . push ( [ 'pos' , 'array' , 'writeDoubleLE' , function ( ) { return 8 ; } , 3 ] ) ;
696
746
MsgEphemerisGlo . prototype . fieldSpec . push ( [ 'vel' , 'array' , 'writeDoubleLE' , function ( ) { return 8 ; } , 3 ] ) ;
697
747
MsgEphemerisGlo . prototype . fieldSpec . push ( [ 'acc' , 'array' , 'writeDoubleLE' , function ( ) { return 8 ; } , 3 ] ) ;
748
+ MsgEphemerisGlo . prototype . fieldSpec . push ( [ 'fcn' , 'writeUInt8' , 1 ] ) ;
698
749
699
750
/**
700
751
* SBP class for message MSG_EPHEMERIS_DEP_D (0x0080).
@@ -1794,7 +1845,9 @@ module.exports = {
1794
1845
MsgEphemerisGloDepA : MsgEphemerisGloDepA ,
1795
1846
0x0084 : MsgEphemerisSbas ,
1796
1847
MsgEphemerisSbas : MsgEphemerisSbas ,
1797
- 0x0085 : MsgEphemerisGlo ,
1848
+ 0x0085 : MsgEphemerisGloDepB ,
1849
+ MsgEphemerisGloDepB : MsgEphemerisGloDepB ,
1850
+ 0x0087 : MsgEphemerisGlo ,
1798
1851
MsgEphemerisGlo : MsgEphemerisGlo ,
1799
1852
0x0080 : MsgEphemerisDepD ,
1800
1853
MsgEphemerisDepD : MsgEphemerisDepD ,
0 commit comments