diff --git a/README.txt b/README.txt index 2a34ae3..b1c9184 100644 --- a/README.txt +++ b/README.txt @@ -107,6 +107,7 @@ The following MCU's and configurations have been tested: * PIC24FJ64GB002 * PIC24FJ256DA206 * PIC18F46J50 - PIC18F Starter Kit + * PIC18F25K50 - Pololu P-Star 25K50 Micro * PIC16F1459 * PIC16F1454 - similar to PIC16F1459 diff --git a/apps/cdc_acm/MPLAB.X/nbproject/configurations.xml b/apps/cdc_acm/MPLAB.X/nbproject/configurations.xml index ea51165..b3e0a19 100644 --- a/apps/cdc_acm/MPLAB.X/nbproject/configurations.xml +++ b/apps/cdc_acm/MPLAB.X/nbproject/configurations.xml @@ -1087,6 +1087,74 @@ + + + localhost + PIC18F25K50 + + + + XC8 + 2 + + + + + + + + false + + + + + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + localhost diff --git a/apps/cdc_acm/main.c b/apps/cdc_acm/main.c index 5fab94b..c202a85 100644 --- a/apps/cdc_acm/main.c +++ b/apps/cdc_acm/main.c @@ -55,6 +55,17 @@ _CONFIG3(WPFP_WPFP255 & SOSCSEL_SOSC & WUTSEL_LEG & ALTPMP_ALPMPDIS & WPDIS_WPDI #pragma config IOL1WAY = OFF #pragma config WPDIS = OFF /* This pragma seems backwards */ +#elif defined(_18F25K50) || defined(_18F45K50) +#pragma config PLLSEL = PLL3X /* 16 Mhz * 3 = 48 Mhz */ +#pragma config CFGPLLEN = ON +#pragma config CPUDIV = NOCLKDIV +#pragma config LS48MHZ = SYS48X8 +#pragma config FOSC = HSH +#pragma config nPWRTEN = ON +#pragma config WDTEN = OFF +#pragma config STVREN = ON +#pragma config XINST = OFF + #elif _16F1459 #pragma config FOSC = INTOSC #pragma config WDTE = OFF diff --git a/apps/hid_composite/MPLAB.X/nbproject/configurations.xml b/apps/hid_composite/MPLAB.X/nbproject/configurations.xml index bb10b9b..eb43e11 100644 --- a/apps/hid_composite/MPLAB.X/nbproject/configurations.xml +++ b/apps/hid_composite/MPLAB.X/nbproject/configurations.xml @@ -1004,6 +1004,74 @@ + + + localhost + PIC18F25K50 + + + + XC8 + 2 + + + + + + + + false + + + + + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + localhost diff --git a/apps/hid_composite/main.c b/apps/hid_composite/main.c index a85a9a0..c95315e 100644 --- a/apps/hid_composite/main.c +++ b/apps/hid_composite/main.c @@ -55,6 +55,17 @@ _CONFIG3(WPFP_WPFP255 & SOSCSEL_SOSC & WUTSEL_LEG & ALTPMP_ALPMPDIS & WPDIS_WPDI #pragma config IOL1WAY = OFF #pragma config WPDIS = OFF /* This pragma seems backwards */ +#elif defined(_18F25K50) || defined(_18F45K50) +#pragma config PLLSEL = PLL3X /* 16 Mhz * 3 = 48 Mhz */ +#pragma config CFGPLLEN = ON +#pragma config CPUDIV = NOCLKDIV +#pragma config LS48MHZ = SYS48X8 +#pragma config FOSC = HSH +#pragma config nPWRTEN = ON +#pragma config WDTEN = OFF +#pragma config STVREN = ON +#pragma config XINST = OFF + #elif _16F1459 #pragma config FOSC = INTOSC #pragma config WDTE = OFF @@ -369,4 +380,4 @@ void interrupt high_priority isr() #error need to make ISR #endif -#endif \ No newline at end of file +#endif diff --git a/apps/hid_mouse/MPLAB.X/nbproject/configurations.xml b/apps/hid_mouse/MPLAB.X/nbproject/configurations.xml index bf06841..7d3cd2c 100644 --- a/apps/hid_mouse/MPLAB.X/nbproject/configurations.xml +++ b/apps/hid_mouse/MPLAB.X/nbproject/configurations.xml @@ -527,6 +527,74 @@ + + + localhost + PIC18F25K50 + + + + XC8 + 2 + + + + + + + + false + + + + + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + localhost diff --git a/apps/hid_mouse/main.c b/apps/hid_mouse/main.c index d23d3f6..7956a02 100644 --- a/apps/hid_mouse/main.c +++ b/apps/hid_mouse/main.c @@ -55,6 +55,17 @@ _CONFIG3(WPFP_WPFP255 & SOSCSEL_SOSC & WUTSEL_LEG & ALTPMP_ALPMPDIS & WPDIS_WPDI #pragma config IOL1WAY = OFF #pragma config WPDIS = OFF /* This pragma seems backwards */ +#elif defined(_18F25K50) || defined(_18F45K50) +#pragma config PLLSEL = PLL3X /* 16 Mhz * 3 = 48 Mhz */ +#pragma config CFGPLLEN = ON +#pragma config CPUDIV = NOCLKDIV +#pragma config LS48MHZ = SYS48X8 +#pragma config FOSC = HSH +#pragma config nPWRTEN = ON +#pragma config WDTEN = OFF +#pragma config STVREN = ON +#pragma config XINST = OFF + #elif _16F1459 #pragma config FOSC = INTOSC #pragma config WDTE = OFF @@ -318,4 +329,4 @@ void interrupt high_priority isr() #error need to make ISR #endif -#endif \ No newline at end of file +#endif diff --git a/apps/unit_test/MPLAB.X/nbproject/configurations.xml b/apps/unit_test/MPLAB.X/nbproject/configurations.xml index e213aac..3d1e3ec 100644 --- a/apps/unit_test/MPLAB.X/nbproject/configurations.xml +++ b/apps/unit_test/MPLAB.X/nbproject/configurations.xml @@ -526,6 +526,74 @@ + + + localhost + PIC18F25K50 + + + + XC8 + 2 + + + + + + + + false + + + + + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + localhost diff --git a/apps/unit_test/main.c b/apps/unit_test/main.c index 813351f..fc6ddeb 100644 --- a/apps/unit_test/main.c +++ b/apps/unit_test/main.c @@ -54,6 +54,17 @@ _CONFIG3(WPFP_WPFP255 & SOSCSEL_SOSC & WUTSEL_LEG & ALTPMP_ALPMPDIS & WPDIS_WPDI #pragma config IOL1WAY = OFF #pragma config WPDIS = OFF /* This pragma seems backwards */ +#elif defined(_18F25K50) || defined(_18F45K50) +#pragma config PLLSEL = PLL3X /* 16 Mhz * 3 = 48 Mhz */ +#pragma config CFGPLLEN = ON +#pragma config CPUDIV = NOCLKDIV +#pragma config LS48MHZ = SYS48X8 +#pragma config FOSC = HSH +#pragma config nPWRTEN = ON +#pragma config WDTEN = OFF +#pragma config STVREN = ON +#pragma config XINST = OFF + #elif _16F1459 #pragma config FOSC = INTOSC #pragma config WDTE = OFF @@ -273,4 +284,4 @@ void interrupt high_priority isr() #error need to make ISR #endif -#endif \ No newline at end of file +#endif diff --git a/usb/src/usb_hal.h b/usb/src/usb_hal.h index 153f832..a13e90c 100644 --- a/usb/src/usb_hal.h +++ b/usb/src/usb_hal.h @@ -186,14 +186,14 @@ struct buffer_descriptor { #define SFR_USB_STALL_IF UIRbits.STALLIF #define SFR_USB_TOKEN_IF UIRbits.TRNIF #define SFR_USB_SOF_IF UIRbits.SOFIF -#define SFR_USB_IF PIR2bits.USBIF +#define SFR_USB_IF USBIF #define SFR_USB_INTERRUPT_EN UIE #define SFR_TRANSFER_IE UIEbits.TRNIE #define SFR_STALL_IE UIEbits.STALLIE #define SFR_RESET_IE UIEbits.URSTIE #define SFR_SOF_IE UIEbits.SOFIE -#define SFR_USB_IE PIE2bits.USBIE +#define SFR_USB_IE USBIE #define SFR_USB_EXTENDED_INTERRUPT_EN UEIE @@ -287,7 +287,9 @@ struct buffer_descriptor { #ifdef _18F46J50 #define BD_ADDR 0x400 -//#undef BUFFER_ADDR +#elif defined(_18F25K50) || defined(_18F45K50) +#define BD_ADDR 0x400 +#define BUFFER_ADDR 0x500 #else #error "CPU not supported yet" #endif