Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by Pavel

  1. Please do. This fix will be included into the coming 7.10 release. Regards, Pavel
  2. Not sure I understand. Window sizes and positions are saved unless we are talking about different things. And all size/position behaviour hasn't changed for years. Maybe you can post a screenshot and mark what's wrong there. Regards, Pavel
  3. Yes this is weird and should be fixed. If this happens again please send the corrupted project file (file with .__c extension) to support@sourceboost.com (or just put its content into this thread) We want to keep IDE simple without adding tons of (not essential) features what seems to be a tendency in other environments. Renaming can be done easily in windows explorer (just as you mentioned). Unless we get requests from other users this probably won't be implemented. Regards, Pavel
  4. Please don't use volatile and use intermediate temporary. Something like: #define IOTRISB ((unsigned*)(BANK_0 + TRISB)) ... unsigned *tris = IOTRISB; *tris &= ~SEGMENT_MASK; Regards, Pavel
  5. I'm afraid the usage of libc.pic16x.lib is not documented well. The reason for that (not a good one) is that SourceBoostIDE users don't need to worry about this library as it is linked to a project automatically when working with SourceBoostIDE. But this is not the case when project is managed outside of SourceBoost IDE (i.e. under MPLAB) where the correct libc needs to be explicitly linked to a project: large\\libc.pic18.lib PIC18, large memory model system library. Linked automatically under SourceBoostIDE. Needs to be explicitly linked when working outside of SourceBoostIDE (i.e. under MPLAB) libc.pic16.lib PIC16 system library. Linked automatically under SourceBoostIDE. Needs to be explicitly linked when working outside of SourceBoostIDE (i.e. under MPLAB) libc.pic16x.lib PIC16 extended instruction set system library. Linked automatically under SourceBoostIDE. Needs to be explicitly linked when working outside of SourceBoostIDE (i.e. under MPLAB) libc.pic18.lib PIC18, small memory model system library. Linked automatically under SourceBoostIDE. Needs to be explicitly linked when working outside of SourceBoostIDE (i.e. under MPLAB) Regards, Pavel
  6. Not sure what PICs are "enhanced mid-range" targets but you need to use libc.pic16x.lib instead of libc.pic16.lib with devices that use PIC16 extended instruction set like PIC16F193x and alike (the ones for which you need to use -16x compiler command line argument) Pavel Regards,
  7. I see. Try to add -O2 into the compiler "Additional command line options" field. If MPLAB puts it after -O1 than the last one will be used. If this doesn't work add #pragma OPTIMIZE "2" before the function you want to optimise and this will apply level 2 optimisation to it. Regards, Pavel
  8. The code that I posted was produced with optimisation level 2 which is the default one. So in theory you don't need to specify any optimisation arguments to get similar result. Try to remove the optimisation pragma. Does MPLAB show you the compiler command line? If it does check that it does not use any -On command line argument (except -O2 which is ok). Note that the optimisation pragma works an function level. This means that it will only apply for a function that follows the pragma statement. Regards, Pavel
  9. Looks like you have optimisation disabled. Here is what I got: signed int binl; binl = ~binl; binl++; 004E 09A0 COMF main_1_binl, F 004F 09A1 COMF main_1_binl+D'1', F 0050 0AA0 INCF main_1_binl, F 0051 1903 BTFSC STATUS,Z 0052 0AA1 INCF main_1_binl+D'1', F Regards, Pavel
  10. Yes it is possible. Plugin API lets plugin code access registers and check and modify their values (all these are described in the Plugin System document): Get register handle: void GetRegHandle( char* name, HANDLE* hReg ) Read/write register: void GetRegVal( HANDLE hReg, int* val ) void SetRegVal( HANDLE hReg, int val ) Register/unregister register change callback: void AddRegChangeCallBack( HANDLE hReg, REGCHGCALLBACK pfunc, void* pParam, int iParam ) void RemoveRegChangeCallBack ( HANDLE hReg, REGCHGCALLBACK pfunc, void* pParam, int iParam ) where the callback signature is: typedef void (*REGCHGCALLBACK)( HANDLE hReg, void* pParam, int iParam ); Regards, Pavel
  11. Have you added eeprom library to the project? Regards, Pavel
  12. The color indicates the active project. Try to add more projects to a workspace and you'll see the difference. Regards, Pavel
  13. These macros are used to make the code easier to use. To understand how they work you need to understand C++ templates (the BoostC compiler supports some of C++ language features including function templates). In short template arguments are values known at compile time and are passed down the call tree. What may look confusing is that a template argument may not be used inside a function called from application code but it will be used somewhere inside functions called from this function. Regards, Pavel
  14. We were able to reproduce the problem and are working on a solution. Current strategy is to add necessary settings during installation or warn user if computer settings need to be modified manually. Thanks to all for reporting. Regards, Pavel
  15. We are sitting on some bug fixes/changes/improvements but have not release any new version. We planned to do this after we update the MPLAB X integration but it looks that we might to release before this happens as it takes a longer than expected to get answers for a few technical questions from Microchip. Regards, Pavel
  16. Congratulations with the project. We can put the project on SourceBoost examples page on http://www.sourceboost.com/Products/BoostC/ExampleCode.html (just mail all relevant file to support@sourceboost.com) Regards, Pavel
  17. I don't know the detail. This is one for Pavel to answer. Current MPLAB X integration was done for MPLAB X beta 5 and 7. We currently work on the update that will match changes made in MPLAB X since then. Unfortunately we need to get answers for a few technical questions from Microchip and they are a bit slow with replies. Hopefully we will resolve those soon and release an MPLAB X integration update. Regards, Pavel
  18. Rom specifier can be used with char and char* types only. Your code tries to use it with array of pointers and this is not supported. Take a look at the 'Rom' chapter in BoostC help for more information. Regards, Pavel
  19. Our MPLAB-X plugin has been available for a while. It's part of 7.05 release. Regards, Pavel
  20. Keep copying I didn't realize that you don't use SourceBoost installation directory structure. You'll need to copy config, include and lib directories from SourceBoost installation directory into the same place where compiler is located. You also need to copy tdf.dll there (that's probably it). To me using compiler from it's installation directory sounds like a much simpler option as all required files are already there. Regards, Pavel
  21. Compiler looks for the preprocessor pp.exe in the same directory where compiler is located. Use compiler with -v command line argument and it will print out the preprocessor command including full path where it expects it to be. This might help you debug the problem. Regards, Pavel
  22. I could not reproduce this problem. Not sure what can cause it. Check if there is a mismatch between IDE and plugin versions. Another thing to try is to remove the Variable PSU dll from SourceBoost installation directory and check if the new last plugin in the menu still works. Than put the Variable PSU dll back, start IDE and check if the problem is still there. Regards, Pavel
  23. Looks like MPLAB doesn't set the current directory to the location of this file. Don't know the reason. I'd check the project settings and also check the MPLAB integration description from users manual. Another option to install 7.05 and try your project with MPLAB X. Regards, Pavel
  24. Not yet. We haven't thought about this but it sounds like a very good feature (and what's important too relatively easy to implement). We'll try to put it into the next release. Regards, Pavel
  25. Use the "Build" command from the IDE. This will generate a makefile in your project directory. This makefile contains full command lines for both compiler and linker. Regards, Pavel
  • Create New...