Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About ThunderSqueak

  • Rank
  • Birthday 02/07/1978

Contact Methods

  • Website URL
  • ICQ

Profile Information

  • Gender
  • Location
  • Interests
    Hello! I have been around the world, managed a successful IT company and electronics shop in which reverse engineering products was the norm. Recently I dumped all that to go back to school to study Electrical Engineering and begin filling in some of the gaps in my education. Oh, and I currently work in R&D. :)
  1. Ok, that compiles with a few warnings, but those are minor, I may look into seeing if I can adapt it to one of the newer pics later. Thank you for your time
  2. I tried to get the usb_serial project to compile, adding those few defines results in a large number of other errors. I am guessing that the picpack library made use of some feature that no longer exists in the new compiler in order to work its magic. Not being able to use that code is a sad thing Had it worked I was willing to change my project to use one of the supported micros. I know the pic16f1459 was recently added to the suppored list, one of the main reasons for choosing that chip is that it has USB capability. Do you know if there are any plans to implement a library to make use of that functionality? Thanks
  3. Awesome! Question, are there libraries to make use of the 16F1459 USB functionality? Just a FYI, The chip also is not listed yet on the sourceboost homepage for a supported device. Thanks! ThunderSqueak Take a look at [link=http://www.embeddedadventures.com]embedded adventures[/link]. They use to have a nice USB stack made with BoostC. It's been a long time since I looked at their tutorials, maybe they upgarded to their "picpak" library to handle teh more recent PICs. Best regards Jorge I have, That was the first thing I looked into when I saw there is now support for the 16f1459 as that is the chip I am currently working with. Unfortunately it gets numerous compiler and preprocessor errors with 7.30 while attempting to compile the demo projects (using whatever chip the demos were meant for, I didn't change their target) This means that something has changed with the compiler in such a way that at least the USB library, which compiled under my older version of sourceboost, will not compile with this version? I have the sourceboost C and sourceboost C++ pro licenses and would love to use it for this project, any help would be appreciated in getting the USB on the 16f1459 working would be great. For now I am using the XC8 compiler for the USB functionality as I need to get this done for work. Still, a proper USB support library would be awesome in sourceboost. Cheers
  4. Awesome! Question, are there libraries to make use of the 16F1459 USB functionality? Just a FYI, The chip also is not listed yet on the sourceboost homepage for a supported device. Thanks! ThunderSqueak
  5. Yep, it just happened to be the part I had selected at the time, normally I am using another pic that has a lower voltage ^^ Change the parameters to fit your target or make 2 batch files, one called program3v.bat and program5v.bat and just change it as needed since most the other stuff stays the same.
  6. Whoops! I found some of what I wanted for the editor in the options menu under editor YAY! Still, it would be nice to be able to just grab a function and rearrange them by dragging them while they are not expanded. Thanks again!
  7. I would love to see collapsible functions added to the sourceboostIDE is possible. It would make coding a lot nicer as you could then simply collapse the code you don't want to be concentrating on. Another nice feature would be the ability to drag the code around while it is collapsed, to allow a quick reorganization of the functions. Would this be something possible to do? For an example of collapsible functions you could look at programs such as codeblocks or notepad++. See the attached image for an example. There is also a bug when using a pickit3 and attempting to set it up in the program function under the IDE. I mentioned this a while back, but it got no response. Original post at --> http://forum.sourceboost.com/index.php?showtopic=4617 since then, I came up with a batch file that works better for this. I call it "Program.bat" "C:\Program Files (x86)\Microchip\MPLABX\mplab_ipe\pk3cmd.exe" /P%1 /V3.250 /M /F%2 Then in the IDE, I use the following command to do the program C:\SourceBoost\PicKit3\program.bat %shorttarget% Since the IDE automatically adds the file name after a space as the second argument, you do not need to add anything else to this. The resulting command line when you hit "P" in the IDE looks like Programming... C:\SourceBoost\PicKit3\program.bat 16F877 Debug\HelloWorld.hex "C:\Program Files (x86)\Microchip\MPLABX\mplab_ipe\pk3cmd.exe" /P16F877 /V3.250 /M /FDebug\HelloWorld.hex I thought I would include this just in case anyone else might find it of use. Still, it would be nice to not have to use a batch file in the first place Thanks for the great compiler
  8. Totally agree with this. Not having proper floating point support really hurts. I develop test equipment and enjoy using boostC, having a proper float would make things so much easier and keep me from constantly looking at other products to get the job done.
  9. oh ok, works now, thanks.... you had removed the project menu that you used in the v6 release and put everything under "workspace" this was a bit confusing at first. Thanks again! Jessie
  10. I tried this, still get the same issue. it works fine with version 7.00 but not 7.02 when I try to add anything to a project the menu items are grayed out and not selectable The build options also are still blank in 7.02 as shown below This is a picture of version 7.00 where everything works as expected, their are build options and I can make changes.
  11. When installed on either windows 7 ultimate 64bit or windows vista ultimate 32bit I noticed the same issue, under the build menu there are no options. Nothing to select. I have attatched a picture to show what I am refering too. I have tried this on several different machines and had the same result. Is this due to a missing font ? One machine was a fresh install of windows 7 ultimate x64 running on a 2Ghz AMD Athlon x2 with 4GB ram The other was an older install of windows Vista ultimate x86 running on a Q6600 with 4gb ram If you have any other questions, feel free to ask. Thanks
  12. Well for things like Frequency .. straight from the manual and for the rest of the pragma stuff, I found the easiest way was just to look into the header file for each micro as an example these are the #pragma options found in the pic18f45k20.h file (random one I had open because I am using the pickit3 demo board.) // The following is an assignment of address values for all of the // configuration registers for the purpose of table reads #define _CONFIG1H 0x00300001 #define _CONFIG2L 0x00300002 #define _CONFIG2H 0x00300003 #define _CONFIG3H 0x00300005 #define _CONFIG4L 0x00300006 #define _CONFIG5L 0x00300008 #define _CONFIG5H 0x00300009 #define _CONFIG6L 0x0030000A #define _CONFIG6H 0x0030000B #define _CONFIG7L 0x0030000C #define _CONFIG7H 0x0030000D /////// CONFIG1H Options ////////////////////////////////////////////////// #define _FOSC_LP_1H 0x000000F0 // LP oscillator #define _FOSC_XT_1H 0x000000F1 // XT oscillator #define _FOSC_HS_1H 0x000000F2 // HS oscillator #define _FOSC_RC_1H 0x000000F3 // External RC oscillator, CLKOUT function on RA6 #define _FOSC_EC_1H 0x000000F4 // EC oscillator, CLKOUT function on RA6 #define _FOSC_ECIO6_1H 0x000000F5 // EC oscillator, port function on RA6 #define _FOSC_HSPLL_1H 0x000000F6 // HS oscillator, PLL enabled (Clock Frequency = 4 x FOSC1) #define _FOSC_RCIO6_1H 0x000000F7 // External RC oscillator, port function on RA6 #define _FOSC_INTIO67_1H 0x000000F8 // Internal oscillator block, port function on RA6 and RA7 #define _FOSC_INTIO7_1H 0x000000F9 // Internal oscillator block, CLKOUT function on RA6, port function on RA7 #define _FCMEN_OFF_1H 0x000000BF // Fail-Safe Clock Monitor disabled #define _FCMEN_ON_1H 0x000000FF // Fail-Safe Clock Monitor enabled #define _IESO_OFF_1H 0x0000007F // Oscillator Switchover mode disabled #define _IESO_ON_1H 0x000000FF // Oscillator Switchover mode enabled /////// CONFIG2L Options ////////////////////////////////////////////////// #define _PWRT_ON_2L 0x000000FE // PWRT enabled #define _PWRT_OFF_2L 0x000000FF // PWRT disabled #define _BOREN_OFF_2L 0x000000F9 // Brown-out Reset disabled in hardware and software #define _BOREN_ON_2L 0x000000FB // Brown-out Reset enabled and controlled by software (SBOREN is enabled) #define _BOREN_NOSLP_2L 0x000000FD // Brown-out Reset enabled in hardware only and disabled in Sleep mode (SBOREN is disabled) #define _BOREN_SBORDIS_2L 0x000000FF // Brown-out Reset enabled in hardware only (SBOREN is disabled) #define _BORV_30_2L 0x000000E7 // VBOR set to 3.0 V nominal #define _BORV_27_2L 0x000000EF // VBOR set to 2.7 V nominal #define _BORV_22_2L 0x000000F7 // VBOR set to 2.2 V nominal #define _BORV_18_2L 0x000000FF // VBOR set to 1.8 V nominal /////// CONFIG2H Options ////////////////////////////////////////////////// #define _WDTEN_OFF_2H 0x000000FE // WDT is controlled by SWDTEN bit of the WDTCON register #define _WDTEN_ON_2H 0x000000FF // WDT is always enabled. SWDTEN bit has no effect. #define _WDTPS_1_2H 0x000000E1 // 1:1 #define _WDTPS_2_2H 0x000000E3 // 1:2 #define _WDTPS_4_2H 0x000000E5 // 1:4 #define _WDTPS_8_2H 0x000000E7 // 1:8 #define _WDTPS_16_2H 0x000000E9 // 1:16 #define _WDTPS_32_2H 0x000000EB // 1:32 #define _WDTPS_64_2H 0x000000ED // 1:64 #define _WDTPS_128_2H 0x000000EF // 1:128 #define _WDTPS_256_2H 0x000000F1 // 1:256 #define _WDTPS_512_2H 0x000000F3 // 1:512 #define _WDTPS_1024_2H 0x000000F5 // 1:1024 #define _WDTPS_2048_2H 0x000000F7 // 1:2048 #define _WDTPS_4096_2H 0x000000F9 // 1:4096 #define _WDTPS_8192_2H 0x000000FB // 1:8192 #define _WDTPS_16384_2H 0x000000FD // 1:16384 #define _WDTPS_32768_2H 0x000000FF // 1:32768 /////// CONFIG3H Options ////////////////////////////////////////////////// #define _MCLRE_OFF_3H 0x0000007F // RE3 input pin enabled// MCLR disabled #define _MCLRE_ON_3H 0x000000FF // MCLR pin enabled, RE3 input pin disabled #define _HFOFST_OFF_3H 0x000000F7 // The system clock is held off until the HF-INTOSC is stable. #define _HFOFST_ON_3H 0x000000FF // HF-INTOSC starts clocking the CPU without waiting for the oscillator to stablize. #define _LPT1OSC_OFF_3H 0x000000FB // Disabled, T1 operates in standard power mode. #define _LPT1OSC_ON_3H 0x000000FF // Timer1 configured for low-power operation #define _PBADEN_OFF_3H 0x000000FD // PORTB<4:0> pins are configured as digital I/O on Reset #define _PBADEN_ON_3H 0x000000FF // PORTB<4:0> pins are configured as analog input channels on Reset #define _CCP2MX_PORTBE_3H 0x000000FE // CCP2 input/output is multiplexed with RB3 #define _CCP2MX_PORTC_3H 0x000000FF // CCP2 input/output is multiplexed with RC1 /////// CONFIG4L Options ////////////////////////////////////////////////// #define _STVREN_OFF_4L 0x000000FE // Stack full/underflow will not cause Reset #define _STVREN_ON_4L 0x000000FF // Stack full/underflow will cause Reset #define _LVP_OFF_4L 0x000000FB // Single-Supply ICSP disabled #define _LVP_ON_4L 0x000000FF // Single-Supply ICSP enabled #define _XINST_OFF_4L 0x000000BF // Instruction set extension and Indexed Addressing mode disabled (Legacy mode) #define _XINST_ON_4L 0x000000FF // Instruction set extension and Indexed Addressing mode enabled #define _DEBUG_ON_4L 0x0000007F // Background debugger enabled, RB6 and RB7 are dedicated to In-Circuit Debug #define _DEBUG_OFF_4L 0x000000FF // Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins /////// CONFIG5L Options ////////////////////////////////////////////////// #define _CP0_ON_5L 0x000000FE // Block 0 (000800-001FFFh) code-protected #define _CP0_OFF_5L 0x000000FF // Block 0 (000800-001FFFh) not code-protected #define _CP1_ON_5L 0x000000FD // Block 1 (002000-003FFFh) code-protected #define _CP1_OFF_5L 0x000000FF // Block 1 (002000-003FFFh) not code-protected #define _CP2_ON_5L 0x000000FB // Block 2 (004000-005FFFh) code-protected #define _CP2_OFF_5L 0x000000FF // Block 2 (004000-005FFFh) not code-protected #define _CP3_ON_5L 0x000000F7 // Block 3 (006000-007FFFh) code-protected #define _CP3_OFF_5L 0x000000FF // Block 3 (006000-007FFFh) not code-protected /////// CONFIG5H Options ////////////////////////////////////////////////// #define _CPB_ON_5H 0x000000BF // Boot block (000000-0007FFh) code-protected #define _CPB_OFF_5H 0x000000FF // Boot block (000000-0007FFh) not code-protected #define _CPD_ON_5H 0x0000007F // Data EEPROM code-protected #define _CPD_OFF_5H 0x000000FF // Data EEPROM not code-protected /////// CONFIG6L Options ////////////////////////////////////////////////// #define _WRT0_ON_6L 0x000000FE // Block 0 (000800-001FFFh) write-protected #define _WRT0_OFF_6L 0x000000FF // Block 0 (000800-001FFFh) not write-protected #define _WRT1_ON_6L 0x000000FD // Block 1 (002000-003FFFh) write-protected #define _WRT1_OFF_6L 0x000000FF // Block 1 (002000-003FFFh) not write-protected #define _WRT2_ON_6L 0x000000FB // Block 2 (004000-005FFFh) write-protected #define _WRT2_OFF_6L 0x000000FF // Block 2 (004000-005FFFh) not write-protected #define _WRT3_ON_6L 0x000000F7 // Block 3 (006000-007FFFh) write-protected #define _WRT3_OFF_6L 0x000000FF // Block 3 (006000-007FFFh) not write-protected /////// CONFIG6H Options ////////////////////////////////////////////////// #define _WRTB_ON_6H 0x000000BF // Boot block (000000-0007FFh) write-protected #define _WRTB_OFF_6H 0x000000FF // Boot block (000000-0007FFh) not write-protected #define _WRTC_ON_6H 0x000000DF // Configuration registers (300000-3000FFh) write-protected #define _WRTC_OFF_6H 0x000000FF // Configuration registers (300000-3000FFh) not write-protected #define _WRTD_ON_6H 0x0000007F // Data EEPROM write-protected #define _WRTD_OFF_6H 0x000000FF // Data EEPROM not write-protected /////// CONFIG7L Options ////////////////////////////////////////////////// #define _EBTR0_ON_7L 0x000000FE // Block 0 (000800-001FFFh) protected from table reads executed in other blocks #define _EBTR0_OFF_7L 0x000000FF // Block 0 (000800-001FFFh) not protected from table reads executed in other blocks #define _EBTR1_ON_7L 0x000000FD // Block 1 (002000-003FFFh) protected from table reads executed in other blocks #define _EBTR1_OFF_7L 0x000000FF // Block 1 (002000-003FFFh) not protected from table reads executed in other blocks #define _EBTR2_ON_7L 0x000000FB // Block 2 (004000-005FFFh) protected from table reads executed in other blocks #define _EBTR2_OFF_7L 0x000000FF // Block 2 (004000-005FFFh) not protected from table reads executed in other blocks #define _EBTR3_ON_7L 0x000000F7 // Block 3 (006000-007FFFh) protected from table reads executed in other blocks #define _EBTR3_OFF_7L 0x000000FF // Block 3 (006000-007FFFh) not protected from table reads executed in other blocks /////// CONFIG7H Options ////////////////////////////////////////////////// #define _EBTRB_ON_7H 0x000000BF // Boot block (000000-0007FFh) protected from table reads executed in other blocks #define _EBTRB_OFF_7H 0x000000FF // Boot block (000000-0007FFh) not protected from table reads executed in other blocks #define _DEVID1 0x003FFFFE #define _DEVID2 0x003FFFFF #define _IDLOC0 0x00200000 #define _IDLOC1 0x00200001 #define _IDLOC2 0x00200002 #define _IDLOC3 0x00200003 #define _IDLOC4 0x00200004 #define _IDLOC5 0x00200005 #define _IDLOC6 0x00200006 #define _IDLOC7 0x00200007 ///////////////////////////////////////////////// // EEPROM Base Address when programing ///////////////////////////////////////////////// // To initialise EEPROM when a device is programmed // use #pragma DATA _EEPROM, 12, 34, 56 #define _EEPROM 0xF00000 and an example of using said config bits #pragma CLOCK_FREQ 20000000 // set Freq to 20Mhz #pragma DATA _CONFIG4L, _LVP_OFF_4L // Single-Supply ICSP disabled #pragma DATA _CONFIG3H, _MCLRE_OFF_3H // RE3 input pin enabled// MCLR disabled #pragma DATA _CONFIG2H, _WDTEN_OFF_2H // WDT is controlled by SWDTEN bit of the WDTCON register #pragma DATA _CONFIG1H, _FOSC_INTIO67_1H //Internal oscillator block, port function on RA6 and RA7 Look at the sample code directory and the #pragma then look at the header file for the chip that the sample was written for, it will all make a lot more sense .... Then again I could be wrong as there really wasnt much of a description in the manual on how to use it, I figured that out on my own. if you need to set more then one thing you can put an '&' between ... this is an example taken from the sample file music.c in the sample directory for the PIC18F452 or PIC16F877 (see their header files for an explanation). #pragma DATA _CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H #pragma DATA _CONFIG2L, _BOR_ON_2L & _BORV_20_2L & _PWRT_OFF_2L #pragma DATA _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H #pragma DATA _CONFIG3H, _CCP2MX_ON_3H #pragma DATA _CONFIG4L, _STVR_ON_4L & _LVP_OFF_4L & _DEBUG_OFF_4L #pragma DATA _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L #pragma DATA _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H #pragma DATA _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L #pragma DATA _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H #pragma DATA _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L #pragma DATA _CONFIG7H, _EBTRB_OFF_7H ... cheers
  13. Bug description: After upgrading to version 6.97 from 6.96 the auto update keeps saying it has a new version and if I download that update it is just another copy of 6.97 without the version number (sourceboost.exe and not sourceboostv697.exe) Steps to reproduce: go to the help menu and have it check for updates when using version 6.97 Expected behaviour: It should tell me I am up to date ? Is the problem 100% reproduceable: every time, especially if I have the software autocheck for updates. IDE version: 6.97 Compiler: BoostC Compiler version: it is in the IDE Target device: Doesnt matter but I had PIC18F45k20 selected OS: Windows 7 ultimate 64bit Comments: Extra information that doesn't fit into other report fields
  • Create New...