- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
[On 5/30/2014, this entry was modified to enhance clarity]
In SDK 1.x.x, the function bleprox_mod_Create() makes calls to blecm_setTxPowerInConnection() and blecm_setTxPowerInADV().
Although SDK 2.x.x does not use bleprox_mod_Create(), we do see calls to the power control functions mentioned in thread title.
Within bleprox_mod_Create(), we see the following comments:
//default is 4dB
// 3 , -1, -5, -9, -13, -17, -21, -25 db
Question: What are the acceptable values to pass and how much granularity is there when controlling the transmitter on the radio?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Answer:
Per the technical reference manual, the radio will not transmit at greater than +4.0dBm.
The silicon has nuances -- time, temp, process variation -- which can sway the transmitter. Since it can never transmit hotter than +4.0dBm, there is a "rounding process" in steps of 4dB.
Think of the transmitter capabilities as entries in an array in C-Code:
signed int Power_Table[] = { 3, -1, -5, -9, -13, -17, -21, -25 };
Function calls to blecm_setTxPowerInConnection() round to the nearest value in the table and the middle value rounds "up".
blecm_setTxPowerInConnection( 4 ) = Maximum radio transmission, not to exceed +4dBm.
blecm_setTxPowerInConnection( 3 ) = Maximum radio transmission, not to exceed +4dBm.
blecm_setTxPowerInConnection( 2 ) = Maximum radio transmission, not to exceed +4dBm.
blecm_setTxPowerInConnection( 1 ) = Maximum radio transmission, not to exceed +4dBm.
blecm_setTxPowerInConnection( 0 ) = -1dBm plus or minus variance of silicon.
blecm_setTxPowerInConnection( -1) = -1dBm plus or minus variance of silicon.
.
.
.
Passing numbers higher than 4 is permitted but ignored and equivalent to using the value of 4.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Answer:
Per the technical reference manual, the radio will not transmit at greater than +4.0dBm.
The silicon has nuances -- time, temp, process variation -- which can sway the transmitter. Since it can never transmit hotter than +4.0dBm, there is a "rounding process" in steps of 4dB.
Think of the transmitter capabilities as entries in an array in C-Code:
signed int Power_Table[] = { 3, -1, -5, -9, -13, -17, -21, -25 };
Function calls to blecm_setTxPowerInConnection() round to the nearest value in the table and the middle value rounds "up".
blecm_setTxPowerInConnection( 4 ) = Maximum radio transmission, not to exceed +4dBm.
blecm_setTxPowerInConnection( 3 ) = Maximum radio transmission, not to exceed +4dBm.
blecm_setTxPowerInConnection( 2 ) = Maximum radio transmission, not to exceed +4dBm.
blecm_setTxPowerInConnection( 1 ) = Maximum radio transmission, not to exceed +4dBm.
blecm_setTxPowerInConnection( 0 ) = -1dBm plus or minus variance of silicon.
blecm_setTxPowerInConnection( -1) = -1dBm plus or minus variance of silicon.
.
.
.
Passing numbers higher than 4 is permitted but ignored and equivalent to using the value of 4.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What is the default power output setting without making this call? Is it 0 dB or +4 dB?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The default is +4dBm.
The spec calls for a 2.5dB loss via the on-board antenna, so you'll measure a bit less at the output.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Shouldnt changing the txPower levels affect the amount of current the chip draws?
I am cycling through all the dB settings above at the end of the create functon and dont see much of a difference at all in how much current the BT chip is drawin .. is this not the place to try these?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
One would think the current draw would indeed tightly track the transmit power level. However the radio is only on for a very short period of time and without a power meter to measure the consumption at very fast intervals, you probably won't even see the increase when using a traditional ammeter.
What equipment are you using to measure the power draw?
Are you sure the new transmit settings are taking effect?