Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
Need the latest SmartSDR, Power Genius, Tuner Genius and Antenna Genius Software?
SmartSDR v3.8.19 and the SmartSDR v3.8.19 Release Notes | SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
SmartSDR v1.12.1 and the SmartSDR v1.12.1 Release Notes
Power Genius XL Utility v3.8.8 and the Power Genius XL Release Notes v3.8.8
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
SmartSDR v3.8.19 and the SmartSDR v3.8.19 Release Notes | SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
SmartSDR v1.12.1 and the SmartSDR v1.12.1 Release Notes
Power Genius XL Utility v3.8.8 and the Power Genius XL Release Notes v3.8.8
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Metering question
Walt - KZ1F
Member ✭✭
1) In Radio.cs.3657
else if (m.Name == "+13.8A") // A: before the fuse
m.DataReady += new Meter.DataReadyEventHandler(Volts_DataReady);
I assume from the comment, that really should be "+13.8A", I don't understand the comment as what is really being expected is a voltage not amperage .
2) in Radio.cs.3642
m.DataReady += new Meter.DataReadyEventHandler(FWDPW_DataReady);
If I understand C# events, this is adding an event sink of FWDPW_DataReady which, when invoked, passes the meter and the meter's value, as seen here at 3691
private void FWDPW_DataReady(Meter meter, float data)
{
OnForwardPowerDataReady(data);
}
This, in turn, invokes Radio.cs:3749
private void OnForwardPowerDataReady(float data)
{
if (ForwardPowerDataReady != null)
ForwardPowerDataReady(data);
}
This seems a tad circular. it adds an event notification target in an instance of meter that reflect the event back to radio(a singleton really) that in turn reflects the event to whatever registered for the ForwardPowerNotification.
Since the passed back meter instance is stripped anyway, would it not be easier to pass it directly to OnForwardPowerDataReady. This would preserve the many to one relationship and save, what appears to be, a non productive event notification.
Another way to phrase this, perhaps, is what is the purpose of FWDPW_DataReady?
Thanks
else if (m.Name == "+13.8A") // A: before the fuse
m.DataReady += new Meter.DataReadyEventHandler(Volts_DataReady);
I assume from the comment, that really should be "+13.8A", I don't understand the comment as what is really being expected is a voltage not amperage .
2) in Radio.cs.3642
m.DataReady += new Meter.DataReadyEventHandler(FWDPW_DataReady);
If I understand C# events, this is adding an event sink of FWDPW_DataReady which, when invoked, passes the meter and the meter's value, as seen here at 3691
private void FWDPW_DataReady(Meter meter, float data)
{
OnForwardPowerDataReady(data);
}
This, in turn, invokes Radio.cs:3749
private void OnForwardPowerDataReady(float data)
{
if (ForwardPowerDataReady != null)
ForwardPowerDataReady(data);
}
This seems a tad circular. it adds an event notification target in an instance of meter that reflect the event back to radio(a singleton really) that in turn reflects the event to whatever registered for the ForwardPowerNotification.
Since the passed back meter instance is stripped anyway, would it not be easier to pass it directly to OnForwardPowerDataReady. This would preserve the many to one relationship and save, what appears to be, a non productive event notification.
Another way to phrase this, perhaps, is what is the purpose of FWDPW_DataReady?
Thanks
0
Answers
-
Is there a comment for 13.8B after the fuse?
I thought it was just 2 metering points for the Voltage, A before, and B after the fuse.0 -
Hi Jay,
Nope..I just double checked. Just A. I did not know there were two points. Just because the code only checks the one, doesn't mean it couldn't check the other. To my knowledge, the only app that looks at voltage (clearly A) is DDUtil.
I would have guessed it was a typo except there was a specific comment. I can certainly add a check for a B 'sink'.
0 -
FlexMeter monitors both 13.8A and 13.8B.
Created by Denley W3XY
And Shared here
https://community.flexradio.com/flexradio/topics/a-small-utility-to-read-smartsdr-radio-metering-points-with-ethernet-api?topic-reply-list%5Bsettings%5D%5Bfilter_by%5D=all0 -
Jay is correct we monitor the input voltage before and after the main fuse.0
-
Not familiar with flexmeter. I was referring to the metering logic in ssdr. That is where I was looking for 13.8B, as Jay mentioned..0
-
I was afraid this is what would happen. This thread would be marked answered prematurely. I'll move the unanswered to a new thread.
0 -
Up to this point the discussion was on the first question re: 13.8A, vs. 13.8V. The substantive portion of the thread was the issue around the event wiring. I was hoping this would have been answered en masse rather than part, which is why I opened a specific thread regarding the other issue as I cannot go back and change the opening stmt. That second one got deleted as this was marked, incorrectly, answered.
0 -
Walt,
The ForwardPowerDataReady event (and other similar meters) were added to the Radio class so that the client could attach directly to them prior to the meters actually being there. It also prevents having to reattach the events if the radio becomes disconnected. It was a simplification for the client.
While the circular nature of the calls can be confusing upon first glance, it works in the object oriented sense in that the Meter class is doing one thing (unpackaging meter data and exposing the data in a useful manner) and doing it well. The fact that we happen to be using this functionality in the Radio class itself is a convenience.0 -
OK, thank you Eric!
0 -
Tim, would you mark this answered please?
0 -
Sorry Walt, I was just curious if both the A, and B voltage measurement points were mentioned in radio.cs. I should have just searched in radio.cs myself. I thought you might have been looking right at it. I had no intention of hijacking the thread.
Jay - NO5J0 -
No Jay, that is why your comment took me by surprise. I thought the A was for amp and when you mentioned the b point I didn't know what you were referring to0
Leave a Comment
Categories
- All Categories
- 289 Community Topics
- 2.1K New Ideas
- 534 The Flea Market
- 7.5K Software
- 6K SmartSDR for Windows
- 146 SmartSDR for Maestro and M models
- 360 SmartSDR for Mac
- 249 SmartSDR for iOS
- 231 SmartSDR CAT
- 172 DAX
- 352 SmartSDR API
- 8.8K Radios and Accessories
- 7K FLEX-6000 Signature Series
- 26 FLEX-8000 Signature Series
- 850 Maestro
- 44 FlexControl
- 847 FLEX Series (Legacy) Radios
- 796 Genius Products
- 416 Power Genius XL Amplifier
- 277 Tuner Genius XL
- 103 Antenna Genius
- 243 Shack Infrastructure
- 166 Networking
- 404 Remote Operation (SmartLink)
- 130 Contesting
- 631 Peripherals & Station Integration
- 125 Amateur Radio Interests
- 870 Third-Party Software