Jon, you are quite right, there is no mechanism for saving data within the ByPc structure, this is assigned to external devices. For small amounts of data the best way as suggested is to use EEPROM for example the one here as part of the RTC and using the I2C interface. The other alternative is to use an SD Card and change the firmware. Jimby jimeer - ByPic
Gary, For me Python is the way to go as it has lots of libraries and works on Windows and Linux without modification. It is also interpreted which is a much easier programming environment. For a terminal I started with PySerial and wxTerm and that grew into bvserial. Jimby jimeer - Projects
Gary, if you mean BVserial Python code then this is available here (bvserial link). The boot loader code is is only available as an exe and is in the zip file at the link. ** From the above post you have removed the boot loader on the PIC. The code for the boot loader that goes onto the PIC is not available. Jimby jimeer - Projects
The BV509 is already setup to use UART1 for the ESP8266 on specific pins for that socket. If you go to the link: and open the Rookie_2.zip file in there there is a file called ESP8266_509.bas. This has the code for connecting to UART1 using the ESP8266 connector. See the function wf_start(). In fact there are some functions in there that may be very useful for GPS By the way the pins arby jimeer - ByPic
More information required: What device? code example?by jimeer - ByPic
Thank you for your patience, There is an error in firmware 1.6 that stops the feature working so you will need an upgrade. to 1.7. Can you contact me via email to arrange it. Jimby jimeer - Serial & I2C Devices
hello, there is no built in back space. The code would be something like: assume '4' is at rc(4,90) rc(4,90) print(" ") rc(4,90) .... new number The direct output from the keypad only works with the serial interface and is a recent addition and only applies to version 1.5. Using a serial interface: jV should report 1.5 or above jW,3,48 set bits 4 and 5 to 11 (0x30) jCby jimeer - Serial & I2C Devices
something like newLine$ = mid$(line$,0,strlen(line$)-2) not tested, just a thoughtby jimeer - ByPic
Luke, that's a great project. I have not come across Thingsspeak before, thanks for sharing. Jimby jimeer - ByPic
The message press CR is to invite you to send a CR (13, 0x0d or '\r') so that the display can automatically determine the Baud rate of the host device, 16f631 in your case. So the first command to the display must be to send byte 13. As an Alternative a fixed Baud rate can be set by using the appropriate command, in this case you would use a USB to Serial device to set custom parameters usingby jimeer - Serial & I2C Devices
You can check for line end "\n" or carriage return "\r" or you can use fgets which gets 1 line: function x(line) dim f, a$[128], j f=fopen("start.bas","r") if f <> 0 then for j = 0 to line fgets(a$,f) next print a$ endif end function x will return the line number requested, there is no erroby jimeer - ByPic
the updates code is here: // ***************************************************************************** // ***************************************************************************** function timer() dim n=1 tmr_set(*TIMER23(), 1000000) print "\nThis will print a number every second" tmr_clr(*TIMER23()) // clear flag while comkey?(2) = 0 if tmr_flby jimeer - ByPic
yes it does. I have updated the file bu changing the following: // 0,1,2,3,4,5,6,7,8,9,dp" //constant DIGIT$ {0x3f,0x30,0x5b,0x4f,0x66,0x6d,0x7c,7,0x7f,0x67,0x80} constant DIGIT {0x3f,0x30,0x5b,0x4f,0x66,0x6d,0x7c,7,0x7f,0x67,0x80} and // ***************************************************************************** // Uses a table to set the segments to represent a number // **by jimeer - ByPic
oops: I am sorry, I have lead you done the wrong path. Rookie 3 is the latest rookie but the rest of the code on the site has not caught up. You need to download rookie2 http://byvac.com/mBlib/flb/Library/rookie/BP1MX170_rookie.script The above is rookie 2. This will allow the use of version 2.3 and also enable you to run the tutorial code. Thanks for bringing this to my attention. I haveby jimeer - ByPic
You have loaded, successfully rookie3 probably many times. I think there is a gap between what you expect to see and what you are seeing, for example when rookie 3 is loaded it does not say that rookie 3 is loaded it just is. This is not your fault but the instructions were originaly for an older version and in some places they may have not been updated to 2.3 (I have had to keep it this wby jimeer - ByPic
sorry, you have lost me: you loaded rookie3 okay, 2 saves are correct, reboot fine. Any ideas for what?by jimeer - ByPic
** edit: rookie2 should be downloaded not rookie3 ** Welcome to ByPic, The BV500 kit contains a BP1 (more details of this particular device). This now has an PIC32MX170, the older versions of BP1 had a PIC32MX150. The main difference from a ByPic point of view is that the MX150 uses version 2.0n firmware and the MX170 uses 2.3n firmware. The newer firmware amongst other things allows passingby jimeer - ByPic
The registers on the MX150 are exactly the same as the MX170. The firmware for the MX150 uses 2.0nn but the firmware on the MX170 is 2.3nn. The differences are documented at the front and back of this document Language_Guide_2.30. That is the reason why Rookie 1 will not load. The changes are reasonably minor mostly relating to how an array is used, in the old firmware you could not pass an aby jimeer - BV500
The PIC32 does not have a single register bit(s) that will control the 'mode' as this register can also supply audio and so is more complex than a normal SPI set up. I can't tell you what the set up is that would be needed for the particular mode you need however I will show an example of changing the output from 8 bit communication to 16 bit communication by witting to the registers directly. Inby jimeer - BV500
rookie's are here www.bypic.co.uk/index.php/Rookie_Firmware the Mini-Max is the MX170, rookie 3 is best, this one: http://byvac.com/mBlib/flb/Library/rookie/BP1MX170_rookie3.scriptby jimeer - ByPic
Yes, the command is powersave(1) However using this will send the board into sleep mode and the only way to wake it is via reset or some other condition usually using a timer. The best and most power efficient way is to use the watch dog timer. This is done as follows: // watch dog for power down control constant WDTCLR 0xBF800004 constant WDTSET 0xBF800008 // wdtcomsetby jimeer - ByPic
The command to clear the buffer (esc[c) is in the data sheet.by jimeer - Serial & I2C Devices
Gilles, there must be some misunderstanding in either the line used or how the device works. Just in case: 1) we are talking about the BV4618 (http://www.byvac.com/index.php/BV4618) 2) The device in serial mode will not respond to anything unless a Baud rate is established by sending 13(CR) first, this does not apply with I2C 3) The interrupt line is the one next to C3 marked Int on the PCby jimeer - Serial & I2C Devices
hello, this is a specific Arduino issue and interrupt lines. I don't think that there will be enough knowledge about Arduino on this forum, it may be better placed on an Arduino forum.by jimeer - Serial & I2C Devices
Ian, the ByPic language will detect any main() function that is saved to flash or SD Card and will run that at start up. If this behaviour is not required then remove the main() function from flash (or SD Card). If there is any firmware pre-installed on the BV509 then the main() will likely be the last file that was saved to flash. So issuing the command flclear(1) will remove the last file fby jimeer - ByPic