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.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
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.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
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
- 260 Community Topics
- 2.1K New Ideas
- 538 The Flea Market
- 7.6K Software
- 6K SmartSDR for Windows
- 139 SmartSDR for Maestro and M models
- 368 SmartSDR for Mac
- 242 SmartSDR for iOS
- 226 SmartSDR CAT
- 175 DAX
- 345 SmartSDR API
- 8.8K Radios and Accessories
- 7K FLEX-6000 Signature Series
- 45 FLEX-8000 Signature Series
- 859 Maestro
- 45 FlexControl
- 849 FLEX Series (Legacy) Radios
- 807 Genius Products
- 424 Power Genius XL Amplifier
- 280 Tuner Genius XL
- 87 Antenna Genius
- 227 Shack Infrastructure
- 153 Networking
- 410 Remote Operation (SmartLink)
- 130 Contesting
- 642 Peripherals & Station Integration
- 116 Amateur Radio Interests
- 878 Third-Party Software