v0.0.6.3
v0.0.6.2
Sorry, another new version is out. The nice new built in updater stopped working when Microchip altered their website! There's also a new version of the XML files available (v1.79.0). https://sourceforge.net/projects/pps-tool/files/latest/download
v0.0.6.1
I'll set up a Teespring store shortly :)
Another updated version of PPS Tool is available: https://sourceforge.net/projects/pps-tool/files/latest/download This one includes a way to automatically download and update the XML files from Microchip - but you need at least .net framework 4.5 for it to work. If 4.0 is as high as you can go (i.e. windows XP) it still works as before so don't worry.
v0.0.6.0
First update of 2020 for the PPS tool so that it recognises the latest versions of the MCC data files. Also some behind the scenes improvements (still working on the high DPI pinout diagram issue...) Latest PPS tool can be downloaded from here: https://sourceforge.net/projects/pps-tool/files/latest/download
First update of 2020 for the PPS tool has been relesed to that it recognises the latest versions of the MCC data files. Also some behind the scenes improvements (still working on the high DPI pinout diagram issue...) Latest PPS tool can be downloaded from here: https://sourceforge.net/projects/pps-tool/files/latest/download
v0.0.5.29
A fix is in progress. It's taking a while but it is being worked on ;) It can happen on normal DPI screens too when there's just not enough space to fit the text in.
v 0.0.5.28
A minor update to the PPS tool has been relesed to that it recognises the latest versions of the MCC data files. Latest PPS tool can be downloaded from here: https://sourceforge.net/projects/pps-tool/files/latest/download
v0.0.5.27
I've done simlar things, but it's a lot easier to fix with PDIP packages. Could you resolder the traces away from the chip where they are more spread out? Is it really 4 weeks lead time for a PIC18F25K20? RS (in the UK) have them in stock and can deliver next day - they are a bit more expensive than other suppliers though https://uk.rs-online.com/web/p/microcontrollers/0564214/
I've just checked - the xml file for PIC18F25K50 doesn't contain any information on PPS settings. The PPS Tool will open the file, but if the data isn't there it won't get added to the dropdown list. I've checked the datasheet too - it doesn't mention PPS in there either so it's not an error by whoever compiled the xml files (has been known to happen...) There are some PICs that support PPS, but the PPS Tool cannot handle the settings because it is done in a non standard way. The ones I know about...
I don't think those particular chips support PPS: the XML files are used by MCC for setting clock speed, PWM, serial etc. so there are XML files for chips without PPS. I'll have a proper look tomorrow when I'm at a desktop PC.
I added it to the feature requests the other day, I can't find out how you report it as a bug!
If you can find an easily customisable, portable IDE that works for both Windows, Linux (and Mac?), and is actively being developed/maintained you could kill a few penguins with one stone.
I find it impossible to reply to discussion posts on the forum using a mobile device, I have to type my post in another text editor then paste it in otherwise it looks like the below. It seems to be something to do with predictive text/swiping. thisthisthisthis how test shoes up when trying totoypetotoype on mymymymytabletmymymymytablet
They share a datasheet, the only difference seems to be F=fast and it is "1 Mhz compatible". Presumably it will work at slower speeds... It also has a lower minimum voltage (1.8v) but that shouldn't make a difference.
From my limited experience of VS Code, it should be quite easy to use it to edit a .gcb file, and have tasks for compile, build, upload etc. Syntax highlighting and intelligent code completion sounds like it would be a bit more tricky, but I'm not sure by how much. I think the biggest problem is that you would have to maintain a VS Code and a Synwrite (and possibly MPLAB) versions of everything instead of just having one. I've recently switched from the Arduino IDE to VSCode because it seems to compile...
Stan, I've connected 2 Pics to each other using serial and it works fine, and multiple pics over a large area using RS485 converters although I had to use quite a low baud rate for that case. I think I also got a serial connection over a 433 MHz link using cheap modules off eBay, although some gave an unreliable connection. I've also connected a pic to an ESP8266 using serial - I think there is some demo code on the forum for that. The main thing to watch out for is voltage levels - if your pic is...
I have added a few in red. I've sent you an email with a tool which will help for some of them.
I'd grab it from the xml files that MCC (and PPS tool) use
George, Improving the pinout diagram has been on the todo list for a while, I just haven't got around to it. I wasn't planning on including a rotate by 90 degrees function as I didn't realise anyone would want it - if it's going to be useful I'll include it (when I get around to it). I like the idea of parsing existing PPS code. I'll look into it.
Something like this? https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.co.uk%2Fulk%2Fitm%2F271957324624 I don't have one to hand though.
PPSTool has been developed and tested on Windows 10 for a long time now, possibly from the start :) My opinion is move development over to Windows 10 as and when you can. At the moment there doesn't seem to be massive compatibility issues between windows 7 and windows 10 software - drivers seem to be a bit more tricky. Using a newer version of the .net framework with the latest patches might be a problem in the future as there will come a point when the older versions are not available for download...
v0.0.5.26
The ESP8266 is a bit old now, ESP32 is the replacement although it's more expensive. Some other demos and code for the ESP8266 with GCB here: https://sourceforge.net/p/gcbasic/discussion/demonstrationcode/thread/e9d4ecdf/ I gave up interfacing the ESP8266 to a PIC via the AT commands and just started programming the ESPs in the Arduino software - fewer components and more control over what you can/cannot do. It seemed a bit daft using a microcontroller to control another microcontroller...
George, I have a feeling that the J chips are not supported however let me check when I get a chance (may be at the weekend). There is a list of known, unsupported chips in the help file. There has been an update to the XML files by microchip which hasn't been implemented yet. I think it included a few more chips but can't remember which ones. GeorgeGeorgeGeorgeGeorgeGeorgeGeorgeGeorgeGeorgeGeorgeGeorge
0.0.5.25
Another quick bugfix release is available which fixes the problem with incorrectly setting the pin direction on the UART module. Download from here: https://sourceforge.net/projects/pps-tool/files/
v0.0.5.24
.
A quick bugfix release (v0.0.5.23) of PPS Tool is availabe to download from here: https://sourceforge.net/projects/pps-tool/files/ This fixes the problem with setting up I2C on the PIC18FxK42 chips, however you will also need to update your chipfiles so it will work.
v0.0.5.23
Although always check the datasheet: The PIC18FxxK20 run at 1.8-3.6v
Well just after releasing last week's update, Microchip have updated their xml files so there's another new release available which detects this updated version. (the actual change in the xml files appears to be insignificant). The help file also includes some instructions for updating PPS Tool when it is installed with GCB. https://sourceforge.net/projects/pps-tool/files/
0.0.5.22
I've successfully tested PICKit Plus here with a PICKit 3 on the following chips: PIC12F1572 PIC12F508 PIC12F683 PIC16F1454 PIC16F1705 PIC16F1765 PIC16F1773 PIC16F1789 PIC16F1825 PIC16F18313 PIC16F18326 PIC16F1847 PIC16F505 PIC16F628A PIC16F676 PIC16F818 PIC16F914 PIC18F1230 PIC18F14K22 PIC18F14K50 PIC18F26K40* The PIC18F26K40 requires r182 of the chip data file, which can be downloaded from GitHub.
If you overwrote the previous PPStool, that should work. You don't HAVE to open it in GCB , it is a standalone program. When you open it from GCB, check it's picking up the correct version: it's displayed in the output. I'll add some installation instructions for Syn in the next version.
v0.0.5.21 of the PPS configuration tool is now available to download from https://sourceforge.net/projects/pps-tool/ No major changes: Improvements for USART on 18FxxK42 chips Pins/peripherals are now marked in the dropdown lists when they have been assigned
George, I've just released an updated version of the PPS Tool. You can download it here: https://sourceforge.net/projects/pps-tool/files/ Among the changes is highlighting of the pins/peripherals that you have already assigned to hopefully make it easier to spot in the dropdown lists.
Version 0.0.5.21
So there is! Missed that somehow.
Is the code available somewhere? Someone could compile a win32 version for Stan...
I'm playing with ESP32s at the moment. I've found the arduino ide quite easy to pick up (although GCB@Syn is nicer in some ways. I think the Arduino IDE is a wrapper to the ESP toolchain, the libraries let you access functions within the ESP IDF. I certainly think it would be possible to program with GCB but it would be a huge job. If you have an AT firmware installed on the ESP, you can always communicate with it over serial from a PIC. There is an example on the forum somewhere that I wrote for...
I use MCP7940N RTCs in some projects, and I've sometimes had problems with the battery backup not working when power is lost, but I put this down to user incompetence. If I get time I will do some tests to check there isn't a similar bug with these.
Not sure if this quite fits the bill...
There's an updated version of the PPS configuration tool available to download from https://sourceforge.net/projects/pps-tool/ Only a couple of minor changes.
Version 0.0.5.20
Would Microsoft be Interested in Sponsering a Licance for a GitHUB Project? Or another company that makes programmers?
I get the same issue on Windows 10 with a single unknown device with code 28. No "virtual COM port" but it does show up as a regular USB COM port and the serial terminal works with COM4 (demo attached) although the output of PORTA.2 seems to be inverted? I can program fine in GCB IDE with the new programmer, and manually by copying the hex across. I haven't tried the debugger in MPLAB, I haven't used it before for any chip.
I get the same issue on Windows 10 with a single unknown device with code 28. No "virtual COM port" but it does show up as a regular USB COM port and the serial terminal works with COM4 (demo attached) although the output of PORTA.2 seems to be inverted? I can program fine in GCB IDE with the new programmer, and manually by copying the hex across. I haven't tried the debugger in MPLAB, I haven't used it before for any chip.
On Windows 10 here, programmer worked fine with the LED demo above (the on board LED is PORTA.2, not PORTA.0 though) If you want to manually program a hex, drag and drop it onto the board in windows explorer ;) But the programmer is much quicker.
Mine still hasn't shown up :(
I've always had the tracking problem with anything I've ordered from Microchip - sample or paid for. I think there's something in the small print that says it only works in certain situations.
Well I had an email a few weeks back from Microchip saying an order had been placed, but nothing was showing on my account. Sales support confirmed it was the PIC16F18446 board so I was expecting it to have arrived, but then I had an email yesterday saying it had been dispatched so we'll see when it turns up...
v0.0.5.18
Yes. It was giving me an error (programmer returned code 0) initially and didn't know that I had to use it - maybe in the next release default to some "dummy" programmer that returns a message saying "please set up your programmer using the PP tool"? If I choose "PicKit3 CLI preserve EEPROM" it won't save the change. It will save all the other PicKit3 options as default programmer, just not the "preserve EEPROM" one for some reason. I didn't know where it was getting %mplabxipedirectory% from (as...
Compiled demos and did the "all chips" tests at home (Win 10) and work (Win 7) - usual errors with the demos, some errors with GCASM giving some invalid setting warnings but seem to be the same as those in the included log file. Programmed OK using PicKit3 IPDCmd. In the install, are somebody else's test.log and TestAllChips.log supposed to be included or should they be deleted? A minor issue - if I select "portable mode" and "create desktop icon", it doesn't create the desktop icon. May be inte...
Compiled demos and did the "all chips" tests at home (Win 10) and work (Win 7) - usual errors with the demos, some errors with GCASM giving some invalid setting warnings but seem to be the same as those in the included log file. Programmed OK using PicKit3 IPDCmd. In the install, are somebody else's test.log and TestAllChips.log supposed to be included or should they be deleted?
What is it that you need from the Adafruit library that the GCB examples can't do? I'm not sure what you are suggesting is possible - you would need to reverse engineer the hex, or combine the hex with the Adafruit library with the hex from your program. Ultimately refresh/response speeds are governed by the timing requirements of the pixels. I've managed to get Neopixel strips running on a 12F1572 which has less memory than a 12F1840 and really restricts the number of effects you can program in,...
I only have a 16F1454. I can post if that's any use.
Sorry I missed this post too. I'll check later whether I have one and let you know.
I've just published an updated version of the PPS tool (v0.0.5.16) which recognises last week's update of the configuration files from Microchip and works with some of the newer PIC18F chips which have seperate pin names on the pinout diagram to those used for the PPS settings. The configuaration tool can be downloaded from here: https://sourceforge.net/projects/pps-tool/files/ Right now, the updated MCC files are only available from the Microchip website here as a .jar file: http://www.microchip.com/mplab/mplab-code-configurator...
v0.0.5.16
Another name for PicKit3plus, don't have a PicKit2. Let me know if there's anything specific you want me to test. IPE has been fine for me, but having to download the whole MPLAB update just to update the definitions for IPE is not great.
The MCP23S17 has the same pinout except the NC/I2C pins are swapped for a CS and the SPI connections. Registers are the same, but obviously it sends SPI packets instead of I2C. Figure 3-3 of the datasheet is great for explaining how the I2C interface works but I can't see a corresponding one for SPI. I've only tried SPI devices a few times and failed to get them to work on every occasion so stick to I2C.
Can't you just get a turbospoke? http://www.turbospoke.com/ :)
Thanks for sharing, I've requested one. I spotted the PIC16F18446 on the website a few months back but they weren't expecting any to ship for a long time so didn't bother requesting a sample to play around with.
I have a hex number as a string (data comes from a serial port as a string) e.g. "0xABCDEF" Is there an easy way to convert this to a long integer? val() doesn't work - I think it just returns 0 (from the "0x") There is the hex() function for doing it the other way around.
Initial version of the ESP8266.h library attached. For some reason SF won't let me add it to the original post.
Initial version of the ESP8266.h library attached. For some reason SF won't let me add it to the original post.
Now controlling an LED strip.: PL9823 LEDs in the video, but it would work with a WS2812b strip too. Hopefully YouTube won't take down my video this time.
Now controlling an LED strip.: PL9823 LEDs in the video, but it would wrk with a WS2812b strip too. Hopefully YouTube won't take down my video this time.
Now controlling an LED strip.: PL9823 LEDs in the video, but it would wrk with a WS2812b strip too. Hopefully YouTube won't take down my video this time.
Sorry I just saw in your original post that you have 600 variables. HEF seems to be limited to 128 bytes (or 128 words of EEPROM) so this won't be enough and you would need to use the lower part of the flash program memory area using EPRead/EPWrite which I am sure is possible but you would need to be careful that you don't overwrite any program code (i.e. stick them at the top end of the memory). You will need to protect these addresses when reprogramming the chip so they don't get erased/overwr...
Sorry I just saw in your original post that you have 600 variables. HEF seems to be limited to 128 bytes so this won't be enough and you would need to use the lower part of the flash program memory area using EPRead/EPWrite which I am sure is possible but you would need to be careful that you don't overwrite any program code (i.e. stick them at the top end of the memory). You will need to protect these addresses when reprogramming the chip so they don't get erased/overwritten.
I did something along those lines on a recent project, I will dig out the code when I get back. I wrote the the non-volatile memory manually using a PICKit3, read the data into my program then wrote a value back to tthe non-volatile memory so I could test whether it had been read. The purpose of this was to set the clock of an MCP7940N on power up, but not on subsequent reboots/power events. If you are using the built in memory of the chip, you need to know whether your chip has EEPROM or HEF (use...
And a further example setting up a HTTP server which responds to user inputs to control things (in this case radio controlled mains power sockets). The delay is due to the slow process of sending 3 lots of radio signals multiple times, not due to the WiFi / processing speed. The code for this is a bit buggy so I've not attached the GCB file.
And a further example setting up a HTTP server which responds to user inputs to control things (in this case radio controlled mains power sockets). The code for this is a bit buggy so I've not attached the GCB file.
Demo video:
A year later and another ESP8266 demo. This one starts up a server you can connect to via Telnet and it sends data back. It also makes use of the SNTP functions in the newer ESP8266 firmware - much better than using the Daytime Protocol. There are also some functions in the demo for parsing IP addresses. I'll try and put up a demo video tomorrow. Edit 01/01/18: Updated code attached without the missing ServerPort variable.
A year later and another ESP8266 demo. This one starts up a server you can connect to via Telnet and it sends data back. It also makes use of the SNTP functions in the newer ESP8266 firmware - much better than using the Daytime Protocol. There are also some functions in the demo for parsing IP addresses. I'll try and put up a demo video tomorrow.
A year later and another ESP8266 demo. This one starts up a server you can connect to via Telnet and it sends data back. It also makes use of the SNTP functions in the newer ESP8266 firmware - much better than using the Daytime Protocol. There are also some functions in the demo for parsing IP addresses. I'll try and put up a demo video tomorrow.
v0.0.5.15
If it works in a similar way to the PIC16F18326 then: https://sourceforge.net/p/gcbasic/discussion/579125/thread/83b1af8b/#2138
If it works in a similar way to the PIC16F18326 then: https://sourceforge.net/p/gcbasic/discussion/579125/thread/83b1af8b/
v0.0.5.14
I will try hardware I2C - now I have to figure out what PPS is! PPS simply lets you rearrange what pin does what. On older PICs SDA1 and SCL1 from the hardware I2C module were hard wired to specific pins, on chips with PPS the you can connect SDA1 and SCL1 to any pin you like via your code at runtime. https://www.youtube.com/watch?v=tf2SfSm6fQg There is a configuration tool included with Great Cow Basic that helps generate the code. 'Generated by PIC PPS Tool for Great Cow Basic 'PPS Tool version:...
I will try hardware I2C - now I have to figure out what PPS is! PPS simply lets you rearrange what pin does what. On older PICs SDA1 and SCL1 from the hardware I2C module were hard wired to specific pins, on chips with PPS the you can connect SDA1 and SCL1 to any pin you like via your code at runtime. http://www.microchip.com/design-centers/8-bit/peripherals/core-independent/peripheral-pin-select-pps#ooid=NpYmI2bTqnvmgkfXTyiIDY4NjdIlWbki There is a configuration tool included with Great Cow Basic...
I have a PIC16F18346 with PORTA.2 connected to a 433 MHz radio transmitter which turns on various things by toggling the pin on and off (bit banging). This works fine. I need to send strings to other devices using the radio transmitter. If I use PPS to map the EUSART TX pin to PORTA.2, and do the usual serial setup (baud rate etc.) at the start of my code this works fine. However if I try to do both of these, only the text string is sent - the bit banging stops working. Commenting out the serial...
This sounds similar to a problem that I had but using hardware i2c. Updating my version of Great Cow Basic fixed it https://sourceforge.net/p/gcbasic/discussion/579126/thread/747d3f6e/?limit=25#cfcc Do you need to set the data and clock pins to be inputs? (You do for HI2C)
Well, I can but it's just the WS2812 bitbanging demo code with the following changes: - config for 16F18346 (FEXTOSC_OFF, and using PORTA.5 for the output) - removing the code for speed control with the pot - removing the code for the switch - timer setup for 16 bit (not 8 bit)
This snippet might be more useful to others - a very cut down version of the demo code which sets 3 LEDs to a static Red/Yellow/Green. I think the only difference between the PL9823 and the WS2812 is that the colours are in RGB format, whereas I think the WS2812 is GRB format. MainCode: WS2812_Init 'Ensure minimum delay has happended as the timing is critical 'The delay is maintained by the timer0 Interrupt wait while timeoutocurred = 0 intoff 'Send the data - either to the CLC or bit banging WS2812SendData...
Well, I can but it's just the WS2812 bitbanging demo code with the following changes: config for 16F18346 (FEXTOSC_OFF, and using PORTA.5 for the output) removing the code for speed control with the pot removing the code for the switch timer setup for 16 bit (not 8 bit)