Modified comments for consistency and to be more easily read

This commit is contained in:
William Miceli
2021-05-14 16:56:47 -04:00
parent 6dae19b800
commit 6966e0bccb
2 changed files with 86 additions and 95 deletions

View File

@@ -1,10 +1,4 @@
/* /*
* Battery Protection Software for BPS PCB Development
* Originally Written for BPS_V1 2012
*
* Modified for BPS_V2 2015 by Scott Haver
* WMU Sunseeker 2015
*
* I/O Initialization * I/O Initialization
*/ */
@@ -12,99 +6,98 @@
#include "SunseekerTelemetry2021.h" #include "SunseekerTelemetry2021.h"
/* /*
* Initialise I/O port directions and states * Initialize I/O port directions and states
* Drive unused pins as outputs to avoid floating inputs * Drive unused pins as outputs to avoid floating inputs and wasting power
* *
*/ */
void io_init( void ) void io_init( void )
{ {
/******************************PORT 1**************************************/ /******************************PORT 1**************************************/
P1OUT = 0x00; // Pull pins low P1OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P1DIR = P1_UNUSED; //set to output P1DIR = P1_UNUSED; // Set to output
P1DIR &= ~(RTC_MFP | IMU_INTn); //set to input P1DIR &= ~(RTC_MFP | IMU_INTn); // Set to input
/*Interrupts Enable*/ /*Interrupts Enable*/
// P1SEL = RTC_MFP | IMU_INTn; // P1SEL = RTC_MFP | IMU_INTn;
// P1IE = RTC_MFP | IMU_INTn; // Enable Interrupts // P1IE = RTC_MFP | IMU_INTn; // Enable Interrupts
P1IES = IMU_INTn; //high to low P1IES = IMU_INTn; // High to low
P1IFG = 0x00; //Clears all interrupt flags on Port 1 P1IFG = 0x00; // Clear all interrupt flags on Port 1
delay(); delay();
/******************************PORT 2**************************************/ /******************************PORT 2**************************************/
P2OUT = 0x00; // Pull pins low P2OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P2DIR = P2_UNUSED; //set to output P2DIR = P2_UNUSED; // Set to output
/*Interrupts Enable */ /*Interrupts Enable */
// P2SEL = CAN0_INTn | CAN1_INTn | GPS_INTn; //Interrupts Select // P2SEL = CAN0_INTn | CAN1_INTn | GPS_INTn; // Interrupts Select
// P2IES = CAN0_INTn | CAN1_INTn | GPS_INTn; // P2IES = CAN0_INTn | CAN1_INTn | GPS_INTn;
// P2IE = CAN0_INTn | CAN1_INTn | GPS_INTn; // Enable Interrupts // P2IE = CAN0_INTn | CAN1_INTn | GPS_INTn; // Enable Interrupts
// P2SEL |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n; //Interrupts Select // P2SEL |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n; // Interrupts Select
// P2IES |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n; // P2IES |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n;
// P2IE |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n; // Enable Interrupts // P2IE |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n; // Enable Interrupts
P2IFG = 0x00; //Clears all interrupt flags on Port 2 P2IFG = 0x00; // Clear all interrupt flags on Port 2
delay(); delay();
/******************************PORT 3**************************************/ /******************************PORT 3**************************************/
P3OUT = 0x00; // Pull pins low P3OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P3DIR = CAN0_SCLK | CAN0_MOSI | SDC_SCLK | SDC_SIMO | CAN1_SCLK | P3_UNUSED; P3DIR = CAN0_SCLK | CAN0_MOSI | SDC_SCLK | SDC_SIMO | CAN1_SCLK | P3_UNUSED; // Set to output
P3OUT |= CAN0_SCLK | CAN0_MOSI | SDC_SCLK | SDC_SIMO | CAN1_SCLK; P3OUT |= CAN0_SCLK | CAN0_MOSI | SDC_SCLK | SDC_SIMO | CAN1_SCLK; // Pull used output pins high
P3DIR &= ~(CAN0_MISO | SDC_SOMI); P3DIR &= ~(CAN0_MISO | SDC_SOMI);
P3SEL = CAN0_SCLK | CAN0_MOSI | CAN0_MISO | SDC_SCLK | SDC_SIMO | SDC_SOMI | CAN1_SCLK | IMU_SDA; P3SEL = CAN0_SCLK | CAN0_MOSI | CAN0_MISO | SDC_SCLK | SDC_SIMO | SDC_SOMI | CAN1_SCLK | IMU_SDA;
/******************************PORT 4**************************************/ /******************************PORT 4**************************************/
P4OUT = 0x00; // Pull pins low P4OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P4DIR = CAN0_RSTn | CAN0_CSn | CAN1_RSTn | CAN1_CSn | P4_UNUSED; P4DIR = CAN0_RSTn | CAN0_CSn | CAN1_RSTn | CAN1_CSn | P4_UNUSED; // Set to output
P4OUT = CAN0_RSTn | CAN0_CSn | CAN1_RSTn | CAN1_CSn; P4OUT = CAN0_RSTn | CAN0_CSn | CAN1_RSTn | CAN1_CSn; // Pull used output pins high
delay(); delay();
P4OUT &= ~(CAN0_RSTn | CAN1_RSTn) ; P4OUT &= ~(CAN0_RSTn | CAN1_RSTn) ;
delay(); delay();
delay(); delay();
P4OUT |= (CAN0_RSTn | CAN1_RSTn) ; P4OUT |= (CAN0_RSTn | CAN1_RSTn) ;
/******************************PORT 5**************************************/ /******************************PORT 5**************************************/
P5OUT = 0x00; // Pull pins low P5OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P5DIR = XT2OUT | CAN1_MOSI | P5_UNUSED; P5DIR = XT2OUT | CAN1_MOSI | P5_UNUSED;
P5OUT = CAN1_MOSI; P5OUT = CAN1_MOSI;
P5DIR &= ~(CAN1_MISO); P5DIR &= ~(CAN1_MISO);
P5SEL = XT2IN | XT2OUT | IMU_SCL | CAN1_MOSI | CAN1_MISO; P5SEL = XT2IN | XT2OUT | IMU_SCL | CAN1_MOSI | CAN1_MISO;
/******************************PORT 6**************************************/ /******************************PORT 6**************************************/
P6OUT = 0x00; // Pull pins low P6OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P6DIR = P6_UNUSED; P6DIR = P6_UNUSED;
P6SEL = 0x00; P6SEL = 0x00;
/******************************PORT 7**************************************/ /******************************PORT 7**************************************/
P7OUT = 0x00; // Pull pins low P7OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P7DIR = XT1OUT | P7_UNUSED; P7DIR = XT1OUT | P7_UNUSED;
P7SEL = XT1IN | XT1OUT; P7SEL = XT1IN | XT1OUT;
/******************************PORT 8**************************************/ /******************************PORT 8**************************************/
P8OUT = 0x00; // Pull pins low P8OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P8DIR = LEDG | LEDR | LEDY0 | LEDY1 | P8_UNUSED; P8DIR = LEDG | LEDR | LEDY0 | LEDY1 | P8_UNUSED;
P8DIR &= ~(Button0); P8DIR &= ~(Button0);
P8SEL = 0x00; P8SEL = 0x00;
/******************************PORT 9**************************************/ /******************************PORT 9**************************************/
P9OUT = 0x00; // Pull pins low P9OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P9DIR = USB_TX | SDC_CSn | GPS_CSn | P9_UNUSED; P9DIR = USB_TX | SDC_CSn | GPS_CSn | P9_UNUSED;
P9OUT = SDC_CSn | GPS_CSn; P9OUT = SDC_CSn | GPS_CSn;
P9SEL = RTC_SDA | RTC_SCL | USB_TX | USB_RX; P9SEL = RTC_SDA | RTC_SCL | USB_TX | USB_RX;
/******************************PORT 10**************************************/ /******************************PORT 10**************************************/
P10OUT = 0x00; // Pull pins low P10OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P10DIR = BT_CSn | BT_MOSI | BT_SCLK | UART_TX | BT_EN |P10_UNUSED; P10DIR = BT_CSn | BT_MOSI | BT_SCLK | UART_TX | BT_EN |P10_UNUSED;
P10OUT = BT_CSn | BT_MOSI | BT_SCLK; P10OUT = BT_CSn | BT_MOSI | BT_SCLK;
P10SEL = BT_MOSI | BT_MISO | BT_SCLK | UART_TX | UART_RX; P10SEL = BT_MOSI | BT_MISO | BT_SCLK | UART_TX | UART_RX;
/******************************PORT 11**************************************/ /******************************PORT 11**************************************/
P11OUT = 0x00; // Pull pins low P11OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P11DIR = ACLK_TEST | MCLK_TEST | SMCLK_TEST; P11DIR = ACLK_TEST | MCLK_TEST | SMCLK_TEST;
P11OUT = ACLK_TEST | MCLK_TEST | SMCLK_TEST; P11OUT = ACLK_TEST | MCLK_TEST | SMCLK_TEST;
P11SEL = ACLK_TEST | MCLK_TEST | SMCLK_TEST; P11SEL = ACLK_TEST | MCLK_TEST | SMCLK_TEST;
/******************************PORT J**************************************/ /******************************PORT J**************************************/
PJOUT = 0x00; PJOUT = 0x00;
PJDIR = 0x0F; //set to output as per user's guide PJDIR = 0x0F; // Set to output as per user's guide
} }

View File

@@ -15,39 +15,39 @@ void io_init( void )
{ {
/******************************PORT 1**************************************/ /******************************PORT 1**************************************/
P1OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs P1OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P1DIR = P1_UNUSED; //set to output P1DIR = P1_UNUSED; // Set to output
P1DIR &= ~(RTC_MFP | IMU_INTn); //set to input P1DIR &= ~(RTC_MFP | IMU_INTn); // Set to input
/*Interrupts Enable*/ /*Interrupts Enable*/
// P1SEL = RTC_MFP | IMU_INTn; // P1SEL = RTC_MFP | IMU_INTn;
// P1IE = RTC_MFP | IMU_INTn; // Enable Interrupts // P1IE = RTC_MFP | IMU_INTn; // Enable Interrupts
P1IES = IMU_INTn; //high to low P1IES = IMU_INTn; // High to low
P1IFG = 0x00; //Clears all interrupt flags on Port 1 P1IFG = 0x00; // Clear all interrupt flags on Port 1
delay(); delay();
/******************************PORT 2**************************************/ /******************************PORT 2**************************************/
P2OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs P2OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P2DIR = P2_UNUSED; //set to output P2DIR = P2_UNUSED; // Set to output
/*Interrupts Enable */ /*Interrupts Enable */
// P2SEL = CAN0_INTn | CAN1_INTn | GPS_INTn; //Interrupts Select // P2SEL = CAN0_INTn | CAN1_INTn | GPS_INTn; // Interrupts Select
// P2IES = CAN0_INTn | CAN1_INTn | GPS_INTn; // P2IES = CAN0_INTn | CAN1_INTn | GPS_INTn;
// P2IE = CAN0_INTn | CAN1_INTn | GPS_INTn; // Enable Interrupts // P2IE = CAN0_INTn | CAN1_INTn | GPS_INTn; // Enable Interrupts
// P2SEL |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n; //Interrupts Select // P2SEL |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n; // Interrupts Select
// P2IES |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n; // P2IES |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n;
// P2IE |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n; // Enable Interrupts // P2IE |= CAN0_RXB0n | CAN0_RXB1n | CAN1_RXB0n | CAN1_RXB1n; // Enable Interrupts
P2IFG = 0x00; //Clears all interrupt flags on Port 2 P2IFG = 0x00; // Clear all interrupt flags on Port 2
delay(); delay();
/******************************PORT 3**************************************/ /******************************PORT 3**************************************/
P3OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs P3OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P3DIR = CAN0_SCLK | CAN0_MOSI | SDC_SCLK | SDC_SIMO | CAN1_SCLK | P3_UNUSED; P3DIR = CAN0_SCLK | CAN0_MOSI | SDC_SCLK | SDC_SIMO | CAN1_SCLK | P3_UNUSED; // Set to output
P3OUT |= CAN0_SCLK | CAN0_MOSI | SDC_SCLK | SDC_SIMO | CAN1_SCLK; P3OUT |= CAN0_SCLK | CAN0_MOSI | SDC_SCLK | SDC_SIMO | CAN1_SCLK; // Pull used output pins high
P3DIR &= ~(CAN0_MISO | SDC_SOMI); P3DIR &= ~(CAN0_MISO | SDC_SOMI);
P3SEL = CAN0_SCLK | CAN0_MOSI | CAN0_MISO | SDC_SCLK | SDC_SIMO | SDC_SOMI | CAN1_SCLK | IMU_SDA; P3SEL = CAN0_SCLK | CAN0_MOSI | CAN0_MISO | SDC_SCLK | SDC_SIMO | SDC_SOMI | CAN1_SCLK | IMU_SDA;
/******************************PORT 4**************************************/ /******************************PORT 4**************************************/
P4OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs P4OUT = 0x00; // Pull pins low, only affects ports set as output, no effect on inputs
P4DIR = CAN0_RSTn | CAN0_CSn | CAN1_RSTn | CAN1_CSn | P4_UNUSED; P4DIR = CAN0_RSTn | CAN0_CSn | CAN1_RSTn | CAN1_CSn | P4_UNUSED; // Set to output
P4OUT = CAN0_RSTn | CAN0_CSn | CAN1_RSTn | CAN1_CSn; P4OUT = CAN0_RSTn | CAN0_CSn | CAN1_RSTn | CAN1_CSn; // Pull used output pins high
delay(); delay();
P4OUT &= ~(CAN0_RSTn | CAN1_RSTn) ; P4OUT &= ~(CAN0_RSTn | CAN1_RSTn) ;
delay(); delay();
@@ -98,8 +98,6 @@ void io_init( void )
/******************************PORT J**************************************/ /******************************PORT J**************************************/
PJOUT = 0x00; PJOUT = 0x00;
PJDIR = 0x0F; //set to output as per user's guide PJDIR = 0x0F; // Set to output as per user's guide
} }