Howard Su
8e89496101
Build LUT by fixed point math
...
Step 1 to remove float from the code. LUT table can be perfect build by
fixed point math.
lut[i] = (float)i / ((float)255 / ((float)pwm_max - (float)pwm_min)) +
pwm_min;
can be converted to:
lut[i] = (float)i * ((float)pwm_max - (float)pwm_min) / (float)255 +
pwm_min;
can be futher convert to:
lut[i] = i * (pwm_max - pwm_min) / 255 + pwm_min;
The second convertion is validated by a small test code. The first
convertion has slight difference on lut[255] of some combinition of
pwm_max and pwm_min, which I believe second fomula is more accurate.
2020-10-09 15:55:44 +08:00
Howard Su
02f2b0c07f
Limit pwm value into a reasonable range
2020-10-09 15:35:09 +08:00
guido
0b4c3f5cf6
Merge experimental branch.
2020-10-09 00:20:02 +02:00
threeme3
d057622b55
Merge pull request #24 from howard0su/experimental
...
Mark ssb and dsp cap const when non-QCX
2020-10-09 00:08:15 +02:00
threeme3
d664a3de78
Merge pull request #25 from howard0su/clean_signed
...
Use unsigned int when possible
2020-10-09 00:06:18 +02:00
guido
004a511f35
Minor changes.
2020-10-08 23:07:09 +02:00
Howard Su
96a72cd362
Two more cases
2020-10-09 01:14:46 +08:00
Howard Su
ea65328f7b
Use unsigned int when possible
...
This reduce the code size significant by two factors:
1. unsigned version can produce less code
2. paramAction can reduce the different versions of templated code
Before;
Sketch uses 27804 bytes (86%) of program storage space. Maximum is 32256 bytes.
Global variables use 1291 bytes (63%) of dynamic memory, leaving 757 bytes for local variables. Maximum is 2048 bytes.
After;
Sketch uses 27418 bytes (85%) of program storage space. Maximum is 32256 bytes.
Global variables use 1291 bytes (63%) of dynamic memory, leaving 757 bytes for local variables. Maximum is 2048 bytes.
2020-10-09 01:00:47 +08:00
Howard Su
3b0064b289
Mark ssb and dsp cap const when non-QCX
...
This tells compiler to optimized out all QCX related code. This saves 1216 bytes ROM.
2020-10-09 00:41:09 +08:00
guido
f9aad1ed6b
Merge experimental branch.
2020-10-07 23:49:15 +02:00
guido
a6b15655ec
Merge experimental branch.
2020-10-07 23:33:07 +02:00
guido
35506e0958
Fix merge issue.
2020-10-07 23:13:36 +02:00
guido
991b696404
Add guarantee for even msa divider for PLL and MS, potentially to fix RX sensitivity issue (Cees, PE1DDA).
2020-10-07 16:40:38 +02:00
guido
827d599490
Fix merge feature-5band-lpf branch.
2020-10-07 14:15:26 +02:00
guido
4ac88a1e7f
Fix merge issue.
2020-10-07 14:01:22 +02:00
threeme3
23270904aa
Merge pull request #18 from howard0su/fatal
...
Cleanup main function
2020-10-07 13:17:51 +02:00
threeme3
9d7257c2a6
Merge branch 'experimental' into fatal
2020-10-07 13:17:38 +02:00
threeme3
f575cdc078
Merge pull request #15 from howard0su/char
...
Use char instead of string for print a single char
2020-10-07 13:14:37 +02:00
threeme3
ef47a7377a
Merge branch 'experimental' into char
2020-10-07 13:13:54 +02:00
threeme3
7a65a022b1
Merge pull request #14 from howard0su/size
...
Refactor menu render common part into functions
2020-10-07 13:11:10 +02:00
guido
bc1cb60626
Merge contrib-m0pub-v2 branch, containing improved SSB filters (Tnx Alan, M0PUB).
2020-10-07 13:06:17 +02:00
guido
a7954409f9
Merge hotfix R1.02i from master branch.
2020-10-07 12:53:56 +02:00
guido
b0f3a44df7
Minor changes.
2020-10-06 22:16:40 +02:00
guido
16216baae1
Minor changes.
2020-10-06 13:01:21 +02:00
guido
5f757b4a7e
Minor changes.
2020-10-06 11:10:23 +02:00
guido
53cfea19b4
Minor changes.
2020-10-05 14:56:23 +02:00
guido
3f113adf05
Add 2nd set experimental 600Hz CW filters.
2020-10-04 22:50:11 +02:00
guido
34944e8768
Add experimental 600Hz CW filters.
2020-10-04 13:37:16 +02:00
guido
3171d022d9
Added increased latch time to fix 60m relay switching.
2020-10-01 16:58:16 +02:00
guido
6332c3e4fb
Hotfix for RX and TX spurs, caused by wrong PLL setting in R1.02h (Many thanks Bob, KD8CGH and Manuel, DL2MAN).
2020-09-30 20:55:47 +02:00
guido
a577fd5fa7
Added optimized SSB filters (merge with feature-m0pub-v2 branch).
2020-09-30 19:44:01 +02:00
guido
ad1e438802
Added optimized 3rd order CIC filter for better nearby alias rejection in RX.
2020-09-29 18:34:05 +02:00
guido
192eef4a17
Fix pca9539 intialisation.
2020-09-09 17:20:32 +02:00
guido
dc47edeaf2
Add initial support filter bank support for DL2MAN uSDX Rev 2, containing 5 LPFs controlled by PCA GPIO extender PCA9539.
2020-09-03 17:01:29 +02:00
guido
069a89cb82
Add initial support filter bank support for DL2MAN uSDX Rev 2, containing 5 LPFs controlled by PCA GPIO extender PCA9539.
2020-09-03 15:23:31 +02:00
Howard Su
5bc8257b85
Cleanup main function
...
abstract fatal logic into a function
2020-08-21 17:56:33 +08:00
Howard Su
a6ce311aec
Refactor menu render common part into functions
...
This further reduce ROM size by 2128 bytes
2020-08-21 15:29:15 +08:00
Howard Su
59bcfeaee4
Use char instead of string for print single char
...
This reduce ROM size by 72 bytes and also reduce the intrustruction to
run in order to print one character
2020-08-21 14:45:57 +08:00
threeme3
e99c50bde4
Merge pull request #13 from howard0su/menu
...
Add indicate when in value changing mode
2020-08-20 16:51:07 +02:00
threeme3
a767233225
Merge pull request #12 from howard0su/keyer
...
Simplify logic of the key swap
2020-08-20 16:50:48 +02:00
threeme3
4284bcf97a
Merge pull request #11 from howard0su/experimental
...
Use an uint8_t as menuid
2020-08-20 16:50:19 +02:00
guido
c6835ca8f5
Aded new SSB, CW filters (Tnx M0PUB).
2020-08-20 16:40:57 +02:00
Howard Su
2045434e04
Add indicate when in value chaning mode
...
Display '>' in front of the value when we are changing the value. This
make it clear that we are changing the value or changing the menu item.
2020-08-20 11:26:41 +08:00
Howard Su
56d4265786
Simplify logic to swap key
...
This simplifies the logic and also save about 44 bytes
2020-08-20 11:11:03 +08:00
Howard Su
3a3fd4a659
Use an uint8_t as menuid
...
Instead of using a string, use a integer for menuid. This saves about
178bytes
2020-08-20 11:00:24 +08:00
guido
8fb2dd723f
Minor changes.
2020-08-13 13:16:33 +02:00
guido
22b3f595c7
Minor changes.
2020-08-10 17:02:54 +02:00
guido
7550788fea
Minor changes.
2020-08-10 15:48:28 +02:00
guido
d2c48fbce9
Minor changes.
2020-08-10 09:13:35 +02:00
guido
240fcee7eb
Minor changes.
2020-08-09 18:40:14 +02:00