Adds support for Planck Rev 6 (#2666)
* initial files for rev 6 with encoder * music map init, dip scan added * adds ws2812 driver for arm * flesh out dip and encoder support * adds default encoder res * adds default encoder res * start muse implementation * muse working with encoder as control * flip direction * try mouse wheel again * dont break other revs * dont break other revs * conditional autio * pwm ws driver (not working) * update build includes for chibios * update ws2812 driver/config * last commit for glasser code * working example * remove rgb for now * finish up rev6 * working encoder keycodes * add warnings to planck keymaps about the LAYOUT
This commit is contained in:
		
							parent
							
								
									96cb9f4661
								
							
						
					
					
						commit
						ade22f8e2c
					
				
					 122 changed files with 4141 additions and 688 deletions
				
			
		|  | @ -79,7 +79,7 @@ float startup_song[][2] = STARTUP_SONG; | |||
| 
 | ||||
| static void gpt_cb8(GPTDriver *gptp); | ||||
| 
 | ||||
| #define DAC_BUFFER_SIZE 360 | ||||
| #define DAC_BUFFER_SIZE 720 | ||||
| 
 | ||||
| #define START_CHANNEL_1() gptStart(&GPTD6, &gpt6cfg1); \ | ||||
|     gptStartContinuous(&GPTD6, 2U) | ||||
|  | @ -167,6 +167,39 @@ GPTConfig gpt8cfg1 = { | |||
| //   1622, 1657, 1692, 1727, 1763, 1798, 1834, 1869, 1905, 1940, 1976, 2012
 | ||||
| // };
 | ||||
| 
 | ||||
| // static const dacsample_t dac_buffer_2[DAC_BUFFER_SIZE] = {
 | ||||
| //     12,    8,    5,    3,    2,    1,    0,    1,    2,    3,    5,    8,
 | ||||
| //     12,   16,   20,   26,   32,   38,   45,   53,   61,   70,   80,   90,
 | ||||
| //    101,  112,  124,  136,  150,  163,  177,  192,  208,  224,  240,  257,
 | ||||
| //    275,  293,  312,  331,  350,  371,  391,  413,  434,  457,  479,  503,
 | ||||
| //    526,  550,  575,  600,  626,  651,  678,  705,  732,  759,  787,  816,
 | ||||
| //    844,  873,  903,  933,  963,  993, 1024, 1055, 1086, 1118, 1150, 1182,
 | ||||
| //   1215, 1248, 1281, 1314, 1347, 1381, 1415, 1449, 1483, 1518, 1552, 1587,
 | ||||
| //   1622, 1657, 1692, 1727, 1763, 1798, 1834, 1869, 1905, 1940, 1976, 2012,
 | ||||
| //   2047, 2082, 2118, 2154, 2189, 2225, 2260, 2296, 2331, 2367, 2402, 2437,
 | ||||
| //   2472, 2507, 2542, 2576, 2611, 2645, 2679, 2713, 2747, 2780, 2813, 2846,
 | ||||
| //   2879, 2912, 2944, 2976, 3008, 3039, 3070, 3101, 3131, 3161, 3191, 3221,
 | ||||
| //   3250, 3278, 3307, 3335, 3362, 3389, 3416, 3443, 3468, 3494, 3519, 3544,
 | ||||
| //   3568, 3591, 3615, 3637, 3660, 3681, 3703, 3723, 3744, 3763, 3782, 3801,
 | ||||
| //   3819, 3837, 3854, 3870, 3886, 3902, 3917, 3931, 3944, 3958, 3970, 3982,
 | ||||
| //   3993, 4004, 4014, 4024, 4033, 4041, 4049, 4056, 4062, 4068, 4074, 4078,
 | ||||
| //   4082, 4086, 4089, 4091, 4092, 4093, 4094, 4093, 4092, 4091, 4089, 4086,
 | ||||
| //   4082, 4078, 4074, 4068, 4062, 4056, 4049, 4041, 4033, 4024, 4014, 4004,
 | ||||
| //   3993, 3982, 3970, 3958, 3944, 3931, 3917, 3902, 3886, 3870, 3854, 3837,
 | ||||
| //   3819, 3801, 3782, 3763, 3744, 3723, 3703, 3681, 3660, 3637, 3615, 3591,
 | ||||
| //   3568, 3544, 3519, 3494, 3468, 3443, 3416, 3389, 3362, 3335, 3307, 3278,
 | ||||
| //   3250, 3221, 3191, 3161, 3131, 3101, 3070, 3039, 3008, 2976, 2944, 2912,
 | ||||
| //   2879, 2846, 2813, 2780, 2747, 2713, 2679, 2645, 2611, 2576, 2542, 2507,
 | ||||
| //   2472, 2437, 2402, 2367, 2331, 2296, 2260, 2225, 2189, 2154, 2118, 2082,
 | ||||
| //   2047, 2012, 1976, 1940, 1905, 1869, 1834, 1798, 1763, 1727, 1692, 1657,
 | ||||
| //   1622, 1587, 1552, 1518, 1483, 1449, 1415, 1381, 1347, 1314, 1281, 1248,
 | ||||
| //   1215, 1182, 1150, 1118, 1086, 1055, 1024,  993,  963,  933,  903,  873,
 | ||||
| //    844,  816,  787,  759,  732,  705,  678,  651,  626,  600,  575,  550,
 | ||||
| //    526,  503,  479,  457,  434,  413,  391,  371,  350,  331,  312,  293,
 | ||||
| //    275,  257,  240,  224,  208,  192,  177,  163,  150,  136,  124,  112,
 | ||||
| //    101,   90,   80,   70,   61,   53,   45,   38,   32,   26,   20,   16
 | ||||
| // };
 | ||||
| 
 | ||||
| // squarewave
 | ||||
| static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = { | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|  | @ -184,7 +217,37 @@ static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = { | |||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
| 
 | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, | ||||
|     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | ||||
|     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0,  0, | ||||
|  | @ -204,21 +267,6 @@ static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = { | |||
| 
 | ||||
| // squarewave
 | ||||
| static const dacsample_t dac_buffer_2[DAC_BUFFER_SIZE] = { | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
| 
 | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|  | @ -234,7 +282,52 @@ static const dacsample_t dac_buffer_2[DAC_BUFFER_SIZE] = { | |||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, | ||||
|     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | ||||
|     0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|    0,  0,  0,  0,  0,  0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||||
|   2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047 | ||||
| }; | ||||
| 
 | ||||
| /*
 | ||||
|  | @ -317,7 +410,7 @@ void audio_init() | |||
|   dacStart(&DACD2, &dac1cfg2); | ||||
| 
 | ||||
|   /*
 | ||||
|    * Starting GPT6 driver, it is used for triggering the DAC. | ||||
|    * Starting GPT6/7 driver, it is used for triggering the DAC. | ||||
|    */ | ||||
|   START_CHANNEL_1(); | ||||
|   START_CHANNEL_2(); | ||||
|  | @ -325,12 +418,8 @@ void audio_init() | |||
|   /*
 | ||||
|    * Starting a continuous conversion. | ||||
|    */ | ||||
|   dacStartConversion(&DACD1, &dacgrpcfg1, | ||||
|                      (dacsample_t *)dac_buffer, DAC_BUFFER_SIZE); | ||||
|   dacStartConversion(&DACD2, &dacgrpcfg2, | ||||
|                      (dacsample_t *)dac_buffer_2, DAC_BUFFER_SIZE); | ||||
|   // gptStartContinuous(&GPTD6, 2U);
 | ||||
| 
 | ||||
|   dacStartConversion(&DACD1, &dacgrpcfg1, (dacsample_t *)dac_buffer, DAC_BUFFER_SIZE); | ||||
|   dacStartConversion(&DACD2, &dacgrpcfg2, (dacsample_t *)dac_buffer_2, DAC_BUFFER_SIZE); | ||||
| 
 | ||||
|     audio_initialized = true; | ||||
| 
 | ||||
|  | @ -469,6 +558,8 @@ static void gpt_cb8(GPTDriver *gptp) { | |||
| 
 | ||||
|                     if (GET_CHANNEL_2_FREQ != (uint16_t)freq_alt) { | ||||
|                         UPDATE_CHANNEL_2_FREQ(freq_alt); | ||||
|                     } else { | ||||
|                         RESTART_CHANNEL_2(); | ||||
|                     } | ||||
|                     //note_timbre;
 | ||||
|                 } | ||||
|  | @ -528,6 +619,8 @@ static void gpt_cb8(GPTDriver *gptp) { | |||
| 
 | ||||
|             if (GET_CHANNEL_1_FREQ != (uint16_t)freq) { | ||||
|                 UPDATE_CHANNEL_1_FREQ(freq); | ||||
|             } else { | ||||
|                 RESTART_CHANNEL_1(); | ||||
|             } | ||||
|             //note_timbre;
 | ||||
|         } | ||||
|  | @ -565,11 +658,11 @@ static void gpt_cb8(GPTDriver *gptp) { | |||
|         bool end_of_note = false; | ||||
|         if (GET_CHANNEL_1_FREQ > 0) { | ||||
|             if (!note_resting) | ||||
|                 end_of_note = (note_position >= (note_length*16 - 1)); | ||||
|                 end_of_note = (note_position >= (note_length*8 - 1)); | ||||
|             else | ||||
|                 end_of_note = (note_position >= (note_length*16)); | ||||
|                 end_of_note = (note_position >= (note_length*8)); | ||||
|         } else { | ||||
|             end_of_note = (note_position >= (note_length*16)); | ||||
|             end_of_note = (note_position >= (note_length*8)); | ||||
|         } | ||||
| 
 | ||||
|         if (end_of_note) { | ||||
|  | @ -622,6 +715,7 @@ void play_note(float freq, int vol) { | |||
| 
 | ||||
|     if (audio_config.enable && voices < 8) { | ||||
| 
 | ||||
| 
 | ||||
|         // Cancel notes if notes are playing
 | ||||
|         if (playing_notes) | ||||
|             stop_all_notes(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jack Humbert
						Jack Humbert