Jump to content

sdujolo

EstablishedMember
  • Content Count

    96
  • Joined

  • Last visited

Posts posted by sdujolo


  1. If I compare the header file for PIC16F1503 with data sheet it does not match.

     

    ///////Bank4//////////////////

    #define WPUA 0x020C

    #define SSP1BUF 0x020D

    #define SSPBUF 0x020D

    #define SSP1ADD 0x020E

    #define SSPADD 0x020E

    #define SSP1MSK 0x020F

    #define SSPMSK 0x020F

    #define SSP1STAT 0x0210

    #define SSPSTAT 0x0210

    #define SSP1CON1 0x0211

    #define SSPCON 0x0211

    #define SSPCON1 0x0211

    #define SSP1CON2 0x0212

    #define SSPCON2 0x0212

    #define SSP1CON3 0x0213

    #define SSPCON3 0x0213

     

    Bank 4

    20Ch WPUA — — WPUA5 WPUA4 WPUA3 WPUA2 WPUA1 WPUA0 --11 1111 --11 1111

    20Dh

    to

    210h

    — Unimplemented — —

    211h SSP1BUF Synchronous Serial Port Receive Buffer/Transmit Register xxxx xxxx uuuu uuuu

    212h SSP1ADD ADD<7:0> 0000 0000 0000 0000

    213h SSP1MSK MSK<7:0> 1111 1111 1111 1111

    214h SSP1STAT SMP CKE D/A P S R/W UA BF 0000 0000 0000 0000

    215h SSP1CON1 WCOL SSPOV SSPEN CKP SSPM<3:0> 0000 0000 0000 0000

    216h SSP1CON2 GCEN ACKSTAT ACKDT ACKEN RCEN PEN RSEN SEN 0000 0000 0000 0000

    217h SSP1CON3 ACKTIM PCIE SCIE BOEN SDAHT SBCDE AHEN DHEN 0000 0000 0000 0000


  2. sdujolo,
    I have it working whit a simple program but when I try more complex program it fails. I think it´s because bootloader use extended instructions. Is this correct way to redefine interrupts vector?

     

    void interrupt( void )@0x808{

    }

     

    void interrupt_low( void )@0x818 {

    }

    No this will not work as the interrupt routines are jumped to from 0x808 and 0x818, the routines themselves do not reside at these addresses.

    -rb 2048 ( or -rb 0x800 ) will relocated the whole program, including putting the required jumps in at 0x808 and 0x818 for the interrupt routines.

     

    Regards

    Dave

     

     

    Hi Dave and thanks for your answer. I figure out that to when I stated to check asm files. I have tried with just -rb 2048 optiion and that works with my simple flashing some led program but not with my NOVO program. I have figure out the when not using the bootloader it only works if I have "Extended instr.Set" disabled. The bootloader need "Extended instr.Set" enabled is there any work around? But that does not look as the entire problem beacuse when I have "Extended instr.Set" enabled with out bootloader it print text on LCD and then stop but with bootloader nothing happen.

     

    Best regards /Jörgen


  3. Amazing. These dudes have done the USB stack in assembler.

     

    It looks like it bounces the interrupt high/low vectors from the normal addresses into the program at the same addresses above its origin - meaning that every interrupt takes another couple of clock cycles. Aside from that side effect, it's a neat way of not having to do tricky boot vector relocations.

     

    Given that mplab compiles the program out of the box, there doesn't seem much point in porting it, esp given that its in assembler anyway. Just use it if it works for you.

     

    cheers

    Ian.

     

     

    Have any one tested this bootloader with boostc?

     

    I've been meaning to give it a try, but haven't gotten around to it yet. I've seen positive feedback from others that have used it standalone. I'll give it a shot in a few days.

     

     

    What settings ect need to be done in boostc to use it?

     

    BR /Jörgen


  4. Plugin is not working on PORTA but it works on PORTB. I have put all to digital ports. I use a PIC18F1320

     

    clear_bit(adcon0, ADON); //A/D On bit 1 = A/D converter module is enabled 0 = A/D converter module is disabled

    set_bit(adcon1, PCFG0); //Digital I/O

    set_bit(adcon1, PCFG1); //Digital I/O

    set_bit(adcon1, PCFG2); //Digital I/O

    set_bit(adcon1, PCFG3); //Digital I/O

    set_bit(adcon1, PCFG4); //Digital I/O

    set_bit(adcon1, PCFG5); //Digital I/O

    set_bit(adcon1, PCFG6); //Digital I/O

     

    I think I found the problem RA5 is only input and RA4 is Open-drain when output. I have to use other port.


  5. tha latest sourceboost ide works great on the latest wine, but native linux support would be a dream come true. and a suitcase full of money... if you could get it to interface with the linux command line, any existing progger software could be used which would speed up development massively. thanks very much for considering linux and PLEASE go ahead with the project. for the widgets and stuff could i recomend wither QT (kde, but there's v3 and v4 for kde3 and kde4 or w.e.) which works with gnome and kde (the main desktops) or GTK2.0 for gnome which i THINK works with kde (?? correct me if im wrong anyone). or just think 'ah hell, well use the x toolkit', just MAKE IT FOR LINUX PLEASE!!

     

    james waples, 14

     

    ps. i will buy one of your licences if you do boostc for linux (SERIOUSLY)

     

    It's worth buying the license for use on Linux. I've been using it on Linux for a month or two now (ever since I found out registration worked via command line). It works almost flawlessly with PikLab, and it works just as well with Eclipse.

    Eclipse you have to modify a few settings and write your own Makefile, but if you've ever programmed using Linux before, you can probably already do that.

     

    Also, I'm not sure if you can run goodies.exe on Linux, but if you run it on Windows and move the NOVO sources to Linux, they work as well. Just remember to delete them off the Windows machine due to the license (only allowed on one node). If you are going to make large scale projects, I'd recommend NOVO. It's amazing how well it works and how simple it is.

     

    I should probably stop there before I start treading into BoostC fan-boy territory.

     

    - Bill

     

    I have try to run under wine in ubuntu 8.04 it works if I use the last open project but I can´t open a new one then it close it self and noting happen. I think if you have it working correct under wine it will be ok but at the moment it does not:(


  6. Thanks Dave,

     

    Lots of good magic there! I'll give it a try and report back.

     

    I'm a big fan of coding up custom plugins and believe that anyone with a little windows programming experience should give it a try as they really enhance project development.

     

    Thanks for opening up the API.

     

    Here is a screen shot of my Nixie tube clock plugin (it seems that you have to click the image below to see it):

     

    post-1034-1224176794_thumb.jpg

     

    Do you have any plugins to share? Has any one write a plugin for the serial port? It would be nice to send and recive data in the simulator.

     

    /Jörgen


  7. As part of your startup and configuration of the device, you should read the GPIO and reset any interrupt flags before you start your main process loop.

     

    The change register has to be set to match the initial input port values so you have to read the port to make the current value the old latched value.

     

    I hope that makes sense!

     

    Cheers

     

    Reynard

     

    Thanks I got it working now I had to play around with startup/init rutines

     

    Best regards

     

    /Jörgen


  8. Have you tried reading the GPIO ports before clearing the interrupt flag GPIF.

     

    The port has to be read to end the change mismatch condition otherwise GPIF will just set itself again (page 21 of data sheet).

     

    Cheers

     

    Reynard

     

    Hello,

     

    I had same problem but on a other device. I read to port as you said and that solve my problems but there is a other problem when I power up the device and all inputs on interrupt-on-change is low everything is ok, but when I power up with on of the inputs high the program does not start. Any suggestion what is wrong?

     

    Best regards /Jörgen


  9. When I have code like this it´s working I get text on lcd and data on serial port but if I comment out the lcd part noting works. Any ide?

    	init();
    delay_ms(100);
    
    lcd_setup();
    delay_ms(100);
    lcd_gotoxy( 2, 0 ); // line 1 start, col 7
    //lcd_function( entry_mode_scroll );
    lprintf( "test" );
    lcd_gotoxy( 4, 1 ); // line 1 start, col 7
    lprintf( "Firmware 1.0" );
    //lcd_write( chr_rom[46] );
    delay_s(1);
    
    Printf("Startar...\n\r");


  10. Ian,

     

    Firstly, good work with your PICPAK and inspired use of the pre-processor. However, I would like to point out a bug in your pic_utils.h V1.2.

     

     

    Hi David,

     

    Yes, you're right about that bug, and I really appreciate your feedback. The next release will have that fixed along with a stack more serial port values for all different sorts of speeds. The main delay in getting the next release out has been adding a new library for native USB support, an easy to use framework built from the ground up.

     

    kind regards

    Ian.

     

    Thanks Ian you are the best you are fixing the USB support that many have been waiting for:-D When do you think the new release with USB support will be out?

     

    Best regards /Jörgen

×
×
  • Create New...