mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2024-12-13 19:54:39 +00:00
Fixed 0.1Hz error in tone key frequencies 146.2, 156.7, and 162.2 (#1427)
* Fixed tone key freq truncation in float->int conversion * Round integer division when displaying tone key freq
This commit is contained in:
parent
07be74701f
commit
900086c1c9
@ -85,7 +85,7 @@ const tone_key_t tone_keys = {
|
|||||||
{"Senn. 32.768k", F2Ix100(32768.0)}};
|
{"Senn. 32.768k", F2Ix100(32768.0)}};
|
||||||
|
|
||||||
std::string fx100_string(uint32_t f) {
|
std::string fx100_string(uint32_t f) {
|
||||||
return to_string_dec_uint(f / 100) + "." + to_string_dec_uint((f / 10) % 10);
|
return to_string_dec_uint(f / 100) + "." + to_string_dec_uint(((f + 5) / 10) % 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
float tone_key_frequency(tone_index index) {
|
float tone_key_frequency(tone_index index) {
|
||||||
|
@ -31,7 +31,7 @@ namespace tonekey {
|
|||||||
|
|
||||||
#define TONE_FREQ_TOLERANCE_CENTIHZ (4 * 100)
|
#define TONE_FREQ_TOLERANCE_CENTIHZ (4 * 100)
|
||||||
#define TONE_DISPLAY_TOGGLE_COUNTER 3
|
#define TONE_DISPLAY_TOGGLE_COUNTER 3
|
||||||
#define F2Ix100(x) (int32_t)(x * 100.0)
|
#define F2Ix100(x) (int32_t)(x * 100.0 + 0.5) // add 0.5f to round vs truncate during FP->int conversion
|
||||||
|
|
||||||
using tone_index = int32_t;
|
using tone_index = int32_t;
|
||||||
using tone_key_t = std::vector<std::pair<std::string, uint32_t>>;
|
using tone_key_t = std::vector<std::pair<std::string, uint32_t>>;
|
||||||
|
Loading…
Reference in New Issue
Block a user