* Main folder Main folder with some changes like the base layout and matrix for uploading in a future to the qmk repositorie * First Commit Firsts non previously commited changes: -Changed to keyboards/handwired -Basic credit to Xydane -70% Layout * Modified file structure for several keyboards As I don't want to create several folders and overcrowd the main folders I made a few modifications to being able of configure several keyboards as revisions of the main keyboard. Added a second variant. Compiling tests went right but I haven't tried it on the controller. * Starting leds * Started dual color leds PWM functions and configs I started to create the PWM functions and configs based on internet examples, it doesn't compile yet * Backtraced a bit to establish and try debug before continuing the pwm Just this, algo some doc as a new pinout image, space cadet modification to try if it works and little more * Deleted unuseful stuff After trying the reestructure to being compatible with several keyboards and that it worked I deleted the other keyboard. Added space cadet shift to ISO. Finally I couldn't debug everything and I'm getting quite frustrated to continue much more than just adding pwm leds * Changed again Iso fix for Space Cadet * Renamed keyboard, future pull I just renamed the keyboard and made some simplifying changes in order to make a pull request sometime soon. I'm too frustrated, tired and knowledge limited to achive using the PWM for leds, I didn't even get to use the debug mode... I intend to end basic led color change using layers (if I can), document everything properly and make a pull request so other users can continue/use this project. * Writed Readme.md file I also corrected a previous compilation problem and ordered a bit the keymaps * Corrected readme * Try to add layer activated light * Revert "Try to add layer activated light" This reverts commit 205af820d845dab08988f329b9f062f558060220. * Progress to fork Coming back to work, upcoming pull * Linked image Corrected readme * Some cleanning Added images to readme, som cleaning, burning after commit. * Almost finished (working) Finally * Finished bluepill firmware Just finished and tried layer dependant led colors. Going for merge * Deleted innecesary stuff and trailing spaces Just as commit title said. * Coding conventions Just modified some files to respect coding conventions * Deleted XXXXXX define Checking some other PR seen this improvement * Changes suggested on PR Firs doing the easy changes * More changes for the PR -I also deleted one unused function for led toggling on matrix.c (Now it uses layer dependent baklight, algo on of on start) -Deleted commented function on keymaps. Right now only needs testing and all pragma replaces. * Almost every pragma change on PR That's almost finished, only waiting for reply due to compiling errors * Revert "Almost every pragma change on PR" This reverts commit 07f23aa862b370cdf0ae37d6f2130c9e9856f491. * Revert last commit I moddified by mistake a file from another keyboard * Solved last pragma Compiles fine. Now I only need to test it, I say you if it works to include it in the main repository.
		
			
				
	
	
		
			171 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|     ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
 | |
| 
 | |
|     Licensed under the Apache License, Version 2.0 (the "License");
 | |
|     you may not use this file except in compliance with the License.
 | |
|     You may obtain a copy of the License at
 | |
| 
 | |
|         http://www.apache.org/licenses/LICENSE-2.0
 | |
| 
 | |
|     Unless required by applicable law or agreed to in writing, software
 | |
|     distributed under the License is distributed on an "AS IS" BASIS,
 | |
|     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|     See the License for the specific language governing permissions and
 | |
|     limitations under the License.
 | |
| */
 | |
| 
 | |
| #ifndef _BOARD_H_
 | |
| #define _BOARD_H_
 | |
| 
 | |
| /*
 | |
|  * Setup for a Generic STM32F103 board.
 | |
|  */
 | |
| 
 | |
| /*
 | |
|  * Board identifier.
 | |
|  */
 | |
| #define BOARD_GENERIC_STM32_F103
 | |
| #define BOARD_NAME              "Generic STM32F103x board"
 | |
| 
 | |
| /*
 | |
|  * Board frequencies.
 | |
|  */
 | |
| #define STM32_LSECLK            32768
 | |
| #define STM32_HSECLK            8000000
 | |
| 
 | |
| /*
 | |
|  * MCU type, supported types are defined in ./os/hal/platforms/hal_lld.h.
 | |
|  */
 | |
| #define STM32F103xB
 | |
| 
 | |
| /*
 | |
|  * IO pins assignments
 | |
|  */
 | |
| 
 | |
| /* on-board */
 | |
| 
 | |
| #define GPIOC_LED               13
 | |
| #define GPIOD_OSC_IN            0
 | |
| #define GPIOD_OSC_OUT           1
 | |
| 
 | |
| /* Backlighting */
 | |
| 
 | |
| /*#define GPIOC_BACKLIGHT_PIN               15*/
 | |
| 
 | |
| /* In case your board has a "USB enable" hardware
 | |
|    controlled by a pin, define it here. (It could be just
 | |
|    a 1.5k resistor connected to D+ line.)
 | |
| */
 | |
| /*
 | |
| #define GPIOB_USB_DISC          10
 | |
| */
 | |
| 
 | |
| /*
 | |
|  * I/O ports initial setup, this configuration is established soon after reset
 | |
|  * in the initialization code.
 | |
|  *
 | |
|  * The digits have the following meaning:
 | |
|  *   0 - Analog input.
 | |
|  *   1 - Push Pull output 10MHz.
 | |
|  *   2 - Push Pull output 2MHz.
 | |
|  *   3 - Push Pull output 50MHz.
 | |
|  *   4 - Digital input.
 | |
|  *   5 - Open Drain output 10MHz.
 | |
|  *   6 - Open Drain output 2MHz.
 | |
|  *   7 - Open Drain output 50MHz.
 | |
|  *   8 - Digital input with PullUp or PullDown resistor depending on ODR.
 | |
|  *   9 - Alternate Push Pull output 10MHz.
 | |
|  *   A - Alternate Push Pull output 2MHz.
 | |
|  *   B - Alternate Push Pull output 50MHz.
 | |
|  *   C - Reserved.
 | |
|  *   D - Alternate Open Drain output 10MHz.
 | |
|  *   E - Alternate Open Drain output 2MHz.
 | |
|  *   F - Alternate Open Drain output 50MHz.
 | |
|  * Please refer to the STM32 Reference Manual for details.
 | |
|  */
 | |
| 
 | |
| /*
 | |
|  * Port A setup.
 | |
|  * Everything input with pull-up except:
 | |
|  * PA2  - Alternate output  (USART2 TX).
 | |
|  * PA3  - Normal input      (USART2 RX).
 | |
|  * PA9  - Alternate output  (USART1 TX).
 | |
|  * PA10 - Normal input      (USART1 RX).
 | |
|  */
 | |
| #define VAL_GPIOACRL            0x88884B88      /*  PA7...PA0 */
 | |
| #define VAL_GPIOACRH            0x888884B8      /* PA15...PA8 */
 | |
| #define VAL_GPIOAODR            0xFFFFFFFF
 | |
| 
 | |
| /*
 | |
|  * Port B setup.
 | |
|  * Everything input with pull-up except:
 | |
|  * PB10    - Push Pull output  (USB switch).
 | |
|  */
 | |
| #define VAL_GPIOBCRL            0x88888888      /*  PB7...PB0 */
 | |
| #define VAL_GPIOBCRH            0x88888388      /* PB15...PB8 */
 | |
| #define VAL_GPIOBODR            0xFFFFFFFF
 | |
| 
 | |
| /*
 | |
|  * Port C setup.
 | |
|  * Everything input with pull-up except:
 | |
|  * PC13    - Push Pull output  (LED).
 | |
|  */
 | |
| #define VAL_GPIOCCRL            0x88888888      /*  PC7...PC0 */
 | |
| #define VAL_GPIOCCRH            0x88388888      /* PC15...PC8 */
 | |
| #define VAL_GPIOCODR            0xFFFFFFFF
 | |
| 
 | |
| /*
 | |
|  * Port D setup.
 | |
|  * Everything input with pull-up except:
 | |
|  * PD0  - Normal input (XTAL).
 | |
|  * PD1  - Normal input (XTAL).
 | |
|  */
 | |
| #define VAL_GPIODCRL            0x88888844      /*  PD7...PD0 */
 | |
| #define VAL_GPIODCRH            0x88888888      /* PD15...PD8 */
 | |
| #define VAL_GPIODODR            0xFFFFFFFF
 | |
| 
 | |
| /*
 | |
|  * Port E setup.
 | |
|  * Everything input with pull-up except:
 | |
|  */
 | |
| #define VAL_GPIOECRL            0x88888888      /*  PE7...PE0 */
 | |
| #define VAL_GPIOECRH            0x88888888      /* PE15...PE8 */
 | |
| #define VAL_GPIOEODR            0xFFFFFFFF
 | |
| 
 | |
| /*
 | |
|  * USB bus activation macro, required by the USB driver.
 | |
|  */
 | |
| /* The point is that most of the generic STM32F103* boards
 | |
|    have a 1.5k resistor connected on one end to the D+ line
 | |
|    and on the other end to some pin. Or even a slightly more
 | |
|    complicated "USB enable" circuit, controlled by a pin.
 | |
|    That should go here.
 | |
| 
 | |
|    However on some boards (e.g. one that I have), there's no
 | |
|    such hardware. In which case it's better to not do anything.
 | |
| */
 | |
| /*
 | |
| #define usb_lld_connect_bus(usbp) palClearPad(GPIOB, GPIOB_USB_DISC)
 | |
| */
 | |
| #define usb_lld_connect_bus(usbp) palSetPadMode(GPIOA, 12, PAL_MODE_INPUT);
 | |
| 
 | |
| /*
 | |
|  * USB bus de-activation macro, required by the USB driver.
 | |
|  */
 | |
| /*
 | |
| #define usb_lld_disconnect_bus(usbp) palSetPad(GPIOB, GPIOB_USB_DISC)
 | |
| */
 | |
| #define usb_lld_disconnect_bus(usbp) palSetPadMode(GPIOA, 12, PAL_MODE_OUTPUT_PUSHPULL); palClearPad(GPIOA, 12);
 | |
| 
 | |
| #if !defined(_FROM_ASM_)
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
|   void boardInit(void);
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| #endif /* _FROM_ASM_ */
 | |
| 
 | |
| #endif /* _BOARD_H_ */
 |