The USB to serial must be working to progress, so this is the problem. BVSerial needs the correct COM port to operate and so this needs fixing first. Usually Windows systems have the CP2xx driver built in and as soon as you plug the device in you get a message saying the driver is being installed or is installed and you get a new COM port to work with it is most unusual for Windows not to recby jimeer - BV500
It is possible to erase the user Flash area using flclear(0). See also this link to FAQby jimeer - ByPic
Thanks, contribution much appreciated.by jimeer - ByPic
flclear(1) will only delete the functions in the last flsave("")by jimeer - ByPic
flclear(0) removes all user stored information flclear(1) just removes the last flsaveby jimeer - ByPic
Peter, A plugin will only accept a character pointer as a parameter and so what I have done in the past is to create an array of pointers and pass the address of the first array index to the plug in. An example of this 1-wire that needs strict timing. I can pass timer registers etc: owConstants(0) = TMR owConstants(1) = PR owConstants(2) = IFS owConstants(3) =by jimeer - ByPic
Peter, probably, but for the moment I am stuck with the commercial C32 compiler that doesn't support the newer chips. The migration path to XC32 will be time consuming but I am working on it. Jimby jimeer - ByPic
Peter, as you have discovered you can't pass arrays into functions but you can pass the address and use that as you have done rather well in the example. Space on the IC is limited and so it is impossible to have the functionality of say Python so some compromises have to be made. Error reporting is one area that has been sacrificed to space and would be much better if there were more flash aby jimeer - ByPic
Peter, BV_COM2 is not perfect but the error: "Access violation at address 0043F5F8. Write of address 20202020." is due to a code error, usually a misplaced bracket that interacts badly with BV_COM2, I am looking at a fix for this. The Error reporting for the ByPic is limited due to the space restrictions on the IC, particularly the MX1 and so it is a trade off between better errby jimeer - ByPic
thanks for pointing that out, the pages have been moved to a new server that is causing the problems. I will get them fixed today. *** UPDATE Images are now back on the site ***by jimeer - ByPic
hello, its is a good question and I will use it to explain a bit of the internals. List does not exist in BP1 this is because the name of the function, once compiled is not saved so there is nothing to list. Unlike other 'interpreted' languages when a function is created it is compiled into a list of addresses, there is room in the BP2 to save the name but not in the BP1. The name is actuaby jimeer - ByPic
All of the websites have been updated (July 2014). www.byvac.com Main website with product information and documentation. All other sites can be reached from here www.bypic.byvac.com Site containing bypic hardware www.bypic.co.uk Bypic language guide www.pichips.co.uk Pichips website for Raspberry Pi, Arduino and other devicesby jimeer - BV_Basic
Thanks, point taken. There is now prominent link on the page.by jimeer - ByPic
yes, that and other commands are all in the language guide (www.bypic.co.uk), or the keyword index may be better, all file commands beginning with f. For example to read a file called fred: dim f, s$[128] f = fopen("fred.txt","r") fread(s$,f) print s$ // prints first line of text file fread(s$,f) print s$ // prints second line of text file fclose(f) // frees up memby jimeer - ByPic
hello, there is a bug that has not been fixed yet when using for/next with select See for more information. The workaround is to use while insted, thus: function D() dim a=13,b,c while(a>0) print a select(a) case(1) print "\n case 1" break case(2) print "\n case 2"by jimeer - ByPic
The BV501 is short of Flash and so in design is an update that will probably use the MX3 version of the PIC32 family and also the SD Card that goes with it. Anybody who has purchased the original BV501 will not be forgotten. There are some BV501's left if you want another, let me know by email. (** Check your email for a fix to the above problem **)by jimeer - BV500
There is a flash reset that involves sending '\' within 1/2 second of a physical reset. The BvSerial can do this for you the command is .loopbreak (dot loopbreak). This should clear everything from flash, just as flclear(0) would have done.by jimeer - BV500
hello, adc_init(n) is part of rookie and so if it is not there then, yes rookie has been erased from Flash; some tips: fltell() This will indicate the number of saves to flash, for BP2, rookie takes up 2 saves flclear(0) This will clear all of the saves so rookie can be installed again For the BP2 you can take advantage of using an SD card to load and save rookie as follows: Manual Optby jimeer - ByPic
The default address for this device when using an Arduino is 0x32. If you are getting something different then you have the pull up resistors in the wring place or there is something wrong with the wiring. I have just updated the Library for this device and it can be found in the Documentation page.. It is now based on the Arduino version 1.01 rather than 0.22. Install this new version usinby jimeer - Serial & I2C Devices
I need more details, which Arduino library? What is the value of the pull up resistors - I am assuming you are using the I2C interface? Are you using 5V or 3.3V?by jimeer - Serial & I2C Devices
hello, the ports available on the pins are available at this link http://www.bypic.byvac.com/index.php/BV501#hardware Those pins can be related back to the IC using the data sheet (MX1) at the top of this page http://www.bypic.byvac.com/index.php/Products Any pin can be a digital pin but are by default set as analogue pins, only some pins can be analogue. Most of the analogue pins are takeby jimeer - BV500
The page and software has now been updated with new downloads and information the details are Here on the Producs BV4611 Pageby jimeer - Serial & I2C Devices
The RPi has either I2C or serial interfaces. Because the RPi does not have any 5V tolerant pins then a 3.3V display must be used, these are hard to come by so the simple solution is to use the I2C interface. Download the following: wget httpx://www.pin1.org/download/py/bv4611/bv4611_I.py (remove the 'x' typo from http) wget httpx://www.pin1.org/download/py/bv4611/demo_I.py (remove the 'x'by jimeer - Serial & I2C Devices
Sorry, not familiar with wiringPi library but from the code above, it would be better to get the number of keys in the buffer (command 5) and then get the key if it is greater than 0.by jimeer - Serial & I2C Devices
If the BV4111 works okay with a PC the it is probably how the bytes are terminated on the openwrt. To explain the BV4111 expects a 'packet of information terminated with byte 13, so command so to turn on relay 'c' on a PC terminal would be: "dc1,0" The actual bytes sent to the BV4111 would be 100 99 49 44 48 13 (in decimal). If openwrt sends these bytes at the correct Baud rate thenby jimeer - ByPic
Thanks, the differences between the two controllers are: BV4618 3 serial interfaces, includes RS232 12V levels Works like a VT100 display Only one device per serial bus One back light out put on or off BV4619 2 serial interfaces no 12V levels Direct LCD commands, simpler user takes care of scrolling Addressable protocol, many devices on one serial bus 3 back light outputs, PWM dimmabby jimeer - Serial & I2C Devices
The address should be 0x31 thus: Wire.beginTransmission(0x31) Also it must be a very big display to have 27 columns? Wire.send(32); // 2 Wire.send(37); // 7 Sorry can't help with compile errors, I can't see anything obviously wrong with the code, that is really a question for the Arduino forums.by jimeer - Serial & I2C Devices