I see no demos for serial com except in the help. Search nothing of this family. Partly solved. First the pps program does not have RX1 and RX2. It does have RX but RXpps does not exist. default is RX1 on RB5 so did leave the bad line out and that worked. additionally I tried just adding the 1 to RX1PPS and that worked too. Second , after reading the pdf for PIC16F17xxx it needs some bits set . CREN = 1 SYNC =0 SPEN =1 This is the test program #chip 16F17145, 8 #option explicit // PIC PPS Tool version:...
I guess it don't do 2 files?
This is a back burner project. I have a limited supply of 18F26K80 ( need 12 bit analog and dual usart). So I thought I would try a newer chip and selected 16F17145. When I first got them I was also trying to get the timer1 external clock osc xtal to work and i noticed the uart Xmit works just fine but the receive would not receive my commands. The program was working fine on the 18F26K80. I did some troubleshooting and modified the usart.h file ( usart.h has certained gained a lot of weight since...
I have been trying to work with a new chip to me, PIC16F17145. Previously we had gotten 18F26K80 to work but my supply of them is limited and they cost a lot more. Setting up timer 1 for interrupt to feed the RTC subroutine. It looks like in the chip data there is not enough options for clocks for Timer 1. See attached So to work around, I go directly to setting up the SOSC and selecting the right clock. SOSCPWR=1 SOSCEN=1 ..... wait 500 ms 'Interrupt Handlers 'InitTimer1 ExtOsc, PS1_1 'T1CLK = 0x07...
I have been trying to work with a new chip to me, PIC16F17145. Previously we had gotten 18F26K80 to work but my supply of them is limited and they cost a lot more. Setting up timer 1 for interrupt to feed the RTC subroutine. It looks like in the chip data there is not enough options for clocks for Timer 1. See attached So to work around, I go directly to setting up the SOSC and selecting the right clock. SOSCPWR=1 SOSCEN=1 ..... wait 500 ms 'Interrupt Handlers 'InitTimer1 ExtOsc, PS1_1 'T1CLK = 0x07...
i think what you need is <#define USART_BLOCKING/> Also the the string is can only be up to 40 bytes unless dim ed other.
I got some new chips PIC16F17145 and my database does not support them. The FAQ are not clear how to upload the database. Thanks Mike
Had one during May of 2023. made 2 sensors , one demo and one in a box for a machinist. 73 Mike
The adxl345 library disappeared. Anybody have one? 73 Mike
I am still using windows 7 so I guess my default is SynWrite. I actually like SynWrite better than GCCode but was able to use GCCode after I found some of the hidden stuff. Life has dealt me health blow so I can not commit to helping at this time. Maybe later. Mike
The SI5351 has been explored before in this forum. Check the link. https://sourceforge.net/p/gcbasic/discussion/projects%26guides/thread/117a0e2636/?limit=50#7872
Yayhhh! That did it. I would never have found that. SOSCCON was bucking me off. I was there before but couldn't make it work. It works! 12:2:0, 16:4:5, 1084,927 after starttimer1 T1CON = 0x89 12:2:2, 16:4:7, 217,185 12:2:8, 16:4:13, 866,742 12:2:10, 16:4:15, 1083,927 12:2:12, 16:4:17, 1081,927 12:2:14, 16:4:19, 1080,926 12:2:16, 16:4:21, 1081,926 12:2:18, 16:4:23, 1083,926 12:2:20, 16:4:25, 1086,925 12:2:22, 16:4:27, 1089,925 12:2:24, 16:4:29, 1092,924 12:2:26, 16:4:31, 1095,924 12:2:28, 16:4:33,...
Yayhhh! That did it. I would never have found that. SOSCCON was bucking me off. I was there before but couldn't make it work. It works! 12:2:0, 16:4:5, 1084,927 after starttimer1 T1CON = 0x89 12:2:2, 16:4:7, 217,185 12:2:8, 16:4:13, 866,742 12:2:10, 16:4:15, 1083,927 12:2:12, 16:4:17, 1081,927 12:2:14, 16:4:19, 1080,926 12:2:16, 16:4:21, 1081,926 12:2:18, 16:4:23, 1083,926 12:2:20, 16:4:25, 1086,925 12:2:22, 16:4:27, 1089,925 12:2:24, 16:4:29, 1092,924 12:2:26, 16:4:31, 1095,924 12:2:28, 16:4:33,...
SERPRINTVAL_H EQU 58 ; 0x3A SHOURS EQU 61 ; 0x3D SMINS EQU 62 ; 0x3E SOSCSEL EQU 63 ; 0x3F SSECS EQU 64 ; 0x40 STR EQU 3400 ; 0xD48 STRINGPOINTER EQU 65 ; 0x41 SYSARRAYTEMP1 EQU 66 ; 0x42 SOSCSEL is in the .asm file but no value
Where is PICINFO?
DataLogger_v12_17_AD8302_18F26K80_siderealRTC.gcb (110): Error: Variable SOSCSEL was not explicitly declared It is in the chip file but I can not set it to "HIGH". I also tried to read "CONFIG1L" which doesn't exist
actually config / init gives it 0x88 and then the starttimer1 adds the '1' giving 0x89 where is "high power"? I need to check that.
Didn't work. 12:2:0, 16:4:5, 1105,926 12:2:0, 16:4:5, 1104,927 after init T1CON = 0x88 OSCCON2 = 0x12 after init T1CON = 0x88 OSCCON2 = 0x12 after starttimer1 T1CON = 0x81 OSCCON2 = 0x12 12:2:0, 16:4:5, 166,144 12:2:0, 16:4:5, 348,300 Actually starttimer1 give 0x89 which is correct because bit 3 of T1CON is SOSCEN should be 1 I took the HSerPrint statements out because they might be interfering with startup and gave it a 500 us wait before "starttimer1" 12:2:0, 16:4:5, 1085,919 after starttimer1...
Hi Anobium, Been trying to understand the 18F26K80 pdf and it talked about waiting for the sosc to start. 'Interrupt Handlers InitTimer1 sosc, 0 HSerprint "after init T1CON = 0x" HSerprint hex(T1CON) HSerprintCRLF HSerprint "OSCCON2 = 0x" HSerprint hex(OSCCON2) HSerprintCRLF StopTimer 1 settimer 1,0x8000 ' 16bit load bit is set to allow 'SOSCSEL1 =1 'SOSCSEL0 =1 wait 50 us On Interrupt Timer1Overflow Call RTC 'T1CON = 0x8B 'Enable SOSCEN external 32k osc StartTimer 1 But the wait did not help. 12:2:0,...
I know you usually ask for the .asm file. here it is
I am using the 18F26K80 because it has a 12bit A/D and i have a tube full of them. I have been using the internal clock to run the RTC for data logging but it runs a little off. My hardware runs with a 16F886 plugged in on the external osc on T1 just fine. But when I try to use the 18F26K80 it bawks! Same program except for chip statement and read AD12 instead of readAD10. 12:9:37, 16:11:43, 1023,1023 12:9:39, 16:11:45, 1023,1023 12:9:42, 16:11:48, 1023,1023 '16F886 12:9:44, 16:11:50, 1023,1023 12:9:46,...
Here is an example of button pushes counting. https://sourceforge.net/p/gcbasic/discussion/579126/thread/86047781/?limit=25#2ad5
GC, using a ttl-USB converter and a terminal program in your development PC , you could test the two modules separately. many times ,trouble shooting, "divide and conquer" , tells where the problem is. This would show more than a oscilloscope, It could send and receive the messages. Having fun! Mike
I used a graphics LCD board with a PIC16F886 on for the receiver. Please do not get confused with the GLCD overhead stuff. dim usart_input as string dim k as Byte k=0 Do HSerGetString usart_input 'Locate 1,1 'Print usart_input GLCDPrint ( 0, 0, usart_input) wait 500 ms GLCDCLS 'cls loop If you put #DEFINE USART_BLOCKING in you do not need _#DEFINE USART_TX_BLOCKING, first staement does both TX and RX #DEFINE USART_BAUD_RATE 9600 #DEFINE USART_TX_BLOCKING #DEFINE USART_DELAY OFF #DEFINE USART_BLOCKING...
GC, I setup a PIC16F1615 for a transmitter because there was some laying around. I use ttl to usb adapters to test, trouble shoot and as power supplies. So the transmitter is running off of the usb converter
GC With USART_BLOCKING and using the the getstring routine you should be able to sync on the char 13 (return) of the getstring routine. Anobium is right that you will not get all the messages because you are sending them faster than you are processing them . sending at 3 sec per cycle and receiving at 4 sec per cycle ( yes the messages take small amount of time). Even with a receive buffer you will overflow and you will need to parse the buffer to find the beginning and ends of the messages. I am...
GC The documentation is at https://gcbasic.sourceforge.io/help/_hsergetstring.html Looks like it wants USART_BLOCKING so it can wait for the chars of the string and the return char 13 to end the string The example is in the help GL 73 Mike
Looks good! Works good! Now I am back on track making a data logger for radio astronomy. Thanks for all your time! I don't know how you do it concentrating on one thing GCB. It is a good project and you recently have new interest. BR Mike
Anobium, I think this is still not quite right? Extra stuff not needed. #ifdef Var(RCREG2) 'Get a byte from register, if interrupt flag is valid If USART2HasData Then #IFDEF var(RCREG2) Then SerData = RCREG2 #ELSE SerData = RC2REG #ENDIF End if #endif Back in lines 2071-2086 you did RC2REG so why is it here again and actually will never be executed because the #ELSE won't exist if RCREG2 don't exist. I know this is confusing, moving the 2 around.
Found the error in the current usart.h file Line 2100 #ifdef Var(RCREG2) Logic is wrong . Never gets to the else statement I broke it up to 2 if statements It works now
Just be aware CH376S_V3_17.gcb fails with the newest usart.h . It compiles, loads and locks up after first terminal entry on usart2. I tried an older usart.h and it runs fine. i am investigating.
Max7219 also drives 8 digit 7 segment displays available on ebay and others. Here is a driver for Max7219 7seg. BR Mike
Angel and Anobium, That is what i saw before. My include files were not destroyed nor modified. I must have shutdown the laptop during the update. I only lost a few libraries and they were the latest versions. My bad for not putting copies back into the project directory or a backup directory. Thanks for all your good work! gcbasic is working fine after the reinstall. BR Mike w9ys
Good news. I download the package and did the complete install. Now things are working! It compiles and gives me info. Some of my files are missing but the standard include files are all there. An update went awry and had me in a panic. Thanks Evan 73 Mike w9ys
this looks like Verbose is checked.
Here is the include. I added the 18B20.h to it and i still am not sure if it compiled? It says it did but I can't load it into the controller. Where are my include files? They all went away. i was using this at the end of June and it was working great.
I admit I have not been using the GCBasic for a couple months but the include files/ .h files dissappeared along with my created .h files. What happened? Also when I compile the information of the compile, especially the size of the program is missing. Windows 7 using synwrite Build 1.01.00 2023-09-30 Windows 64 bit Build 1289
The max 7219 is similar to the max7221 I needed a counter to count two leds when they were blinked. #chip 16F886, 8 #include <max7219_7segment.h> #define MAX7219_7seg_HardwareSPI 'comment this line for NOT hardware SPI #define Max7219_DO PortC.5 'Dout Out #define Max7219_SCK PortC.3 'clk Out #define Max7219_CS PortC.2 'load Out #define YellowLED PortB.0 'Carmelo Meteor detected #define RedLED PortB.1 'Meteor stored dir PortB.0 in dir PortB.1 in Dim CountValueRed, CountValueYellow as word CountValueYellow...
Romtek The i2ceeprom.h library file is at "C:\GCstudio\GreatCowBASIC\include" There is methods for writing and reading bytes or strings and for small eeproms with byte addresses and larger eeproms with word addresses. Yours is 32K so you need word addr. The difference between strings and arrays is the string has the first location , mystring(0), as the length of the string. So by convention mystring (1) is the first byte that you can use. When treating it as an array you can write to mystring(0)....
Looking at Adafruit ItsyBitsy nRF52840 Express - Bluetooth LE Product ID: 4481 . this already has a processor onboard and can communicate using BLE. It can be programmed by the Arduino programmer or circuit python which is like micro python and a usb cable. The I2C is for talking to other modules. I am not sure what you are trying to do? GL M
David, Welcome to GCB. I have been using it for a long time and it works. PWM has changed to accommodate the upgrade of the PIC chips. I assume you want the Hardware PWM So first , I had to look your PIC16F1455 PWM1 is on RC5 PWM2 is defaut on RC3 But has an alternate using PPS but is not on the list of the pps tool in GCB The pin must be set to output Looking in sect 24 - PWM of the pdf of 16F1455 PIC16F1455 has 10 bit resolution PWM so you need to use a word variable Also see that PWM uses timer...
I have started to do an implementation of PID a couple times but recently I needed it for my project and more web searching brought me across the Brett Beauregard in depth explanation and generic code. I am not new to PID, I have programmed and tuned hundreds of PID loops for process industry but it was on Honeywell controllers or a DCS system, Brett's code was easy to implement in GCB EXCEPT no floats. error can be + or - and after multiplying the error times the kp constant it could exceed the...
Up Date on PID developement I am controlling a Solid State Refrigerator (Peltier Module)used for pop storage to stabilize the receiver and LNA amplifiers on my Radio Astronomy equipment. The previous file was being developed as a heater (tail lightbulb) and DS18B20 Temp sensor. Now I needed to reverse the control because i am cooling instead of heating. It was as simple as reversing the error equation. error = Input -Setpoint ' For cooling 'error = Setpoint -Input ' for Heating But there was other...
Latest programs
Latest programs
Up Date on PID developement I am controlling a Solid State Refrigerator (Peltier Module)used for pop storage to stabilize the receiver and LNA amplifiers on my Radio Astronomy equipment. The previous file was being developed as a heater (tail lightbulb) and DS18B20 Temp sensor. Now I needed to reverse the control because i am cooling instead of heating. It was as simple as reversing the error equation. error = Input -Setpoint ' For cooling 'error = Setpoint -Input ' for Heating But there was other...
Here is a implementation of a PID controller for 8 bit micros not using FP. I am using BT HC-05 to communicate so i can use my cellphone to change control parameters and plot the control.
Here is the controller starting up. Orange is output Red is PV the temperature C Green is setpoint Blue is error
It don't allow to attach more than one file. So here is the library file
Here is a implementation of a PID controller for 8 bit micros not using FP. I am using BT HC-05 to communicate so i can use my cellphone to change control parameters and plot the control.
Anobium got me GAWKing! Very good! I just ran your awk script and got the same output. Always one more programming language to learn. On the web they only give 2 liners. This much better example. And you gave the command line! Thanks Mike
Anobium , You are very optimistic! I think we need the beer before we start! AWK is not a one of my languages. I kind of understand how it works but there is a lot of hidden stuff. When I convert .ino's and .lib's ,I usually use a editor and do search and replace OR search and destroy. 'void's and 'bool' are usually sub or function starts. Serial.print is replaced with HSerPrint Also in HSerIn we need it buffered without additional setup, uses a define to turn off for smaller chips If's need the...
Great Cow BASIC (0.99.01 2022-01-27 (Linux 64 bit) : Build 1073) That's what was on the PC next to my chair watching nothing on TV. I was thinking how hard it would be to build a converter to change code from arduino to GCB. Basil needed some inspiration, so i wrote those few lines of code thinking what it would take. Maybe ChatGPT could do it? It was too busy to let me in yesterday.
It was late. I did not finish the initialization. I do not have that chip to test but the pdf says it comes up in "standby".
hi Basil
I don't think it is recognizing the condition you are trying to create. Do [{While | Until} condition] loop Do While High PORTA.4 Loop I think you need to form the condiont using an '=' sign. Do while PortA.4 = High Or Do while PortA.4 = 1 I personally prefer the second one because it says what you are looking for. Where as 'high' is defined as 1 but as you change languages it may not be defined or be a keyword.
David, The library is in the include directory ..... GreatcowBasic/Include/mcp23017.h GCB libraries end with '.h' but are the library not a header file. It can be used by an include statement at the beginning of you code. #include <mcp23017.h> There is a demo file for another I2C expander under greatCowBasic/demos/I2C_solutions/I2C_serial_expanders/I2C_pcf8574_serial_expander..... .gcb What processor will you be using? Just change the chip statement. #chip mega328p, 16 GreatCowBasic has a very good...
There is a library file for MCP23017. That would be a good starting spot.
""Great Cow BASIC development started in 2013 and now GCBASIC supports over 1300 microcontrollers."" I think it started before 2013. I have GCB basic files before that. KeyBdMorse by Hugh 2006 MeteorLogger 2007 IRCurtain 2008 SideralClk 2008 LabkoClkGuy 2009 ThankYou Hugh, et al for a great project! 73 Mike
where do you download the new IDE?
I am trying out your GCstudio. I was delaying because I thought there was a learning curve. But it is very intuitive. So far editing, getting files, copying, saving, and compiling is great. I like it. BUT I can't find out how to flash from GCstudio? I have a PicKit2 When i press F5 it compiles just fine but returns that the flash was a -1 which means it didn't flash the chip. I have Pickit+ also. So the chip flashes when I use PicKit2 GUI and dig the hex file that GCstudio created. I think the auto...
Angel, Thanks for the video but we need to step back another step. I don't have those icons on the upper right of the edit screen. How do I get those?? Thanks mike
Yes it says 2 months old. Version: 1.64.0 Commit: 5554b12acf27056905806867f251c859323ff7e9 Date: 2022-02-04T00:30:43.476Z Electron: 13.5.2 Chromium: 91.0.4472.164 Node.js: 14.16.0 V8: 9.1.269.39-electron.0 OS: Windows_NT ia32 6.1.7601 Probably need to download a newer one.
Angel, yes, that worked! now it flashes . This takes the workout of programming pics. ThankYou Mike
Why isn't GC Studio mentioned on the Great cow Basic website and the SourceForge great cow basic files?
I have been using GCStudio for months now and yes there is some learning but It works good. I agree, it got too bloated lately and if i let it update at the beginning, then my limited bandwidth would shut it down. So I use the 'X' and don't update. Maybe only update occasionally. Microchip has thrown gobs of chips at us that we probably don't use. But maybe we find a new one that we like instead of "old faithful" chip. Anobium has lead the way to the future of GCB. We do want GCB to be there in the...
By looking in the chipfile , that the name should be "ExtInt0" . That is the default interupt pin so you would not need pps.
Harley, for 8 digit 7 seg LED I use the inexpensive max 7219 modules. During this past year we have improved the library. look in the forum. Don't get confused, there is max7219 dot matrix modules and max7219 7 seg led modules. They are driven with a clk , a data ,and a CS signal. 3 wires. mike w9ys
Brian, I am not sure what you are not understanding because you have said all that is important. "My servos are 500~2500usec" To send the servo to the most ccw position you would send it 500 usec pulses Tosend it to the middle position you would send it 1500 us pulses to send it to max position send it 2500 us pulses. Some people say you have to continue sending pulses to stay in your set position But I have found you only need to send pulses of your set size until the servo settles in that position...
Keith , I do not mean to derail you. But have you looked at GRBL software? It is 3 axis CNC gcode translator which means it has the step and dir outputs plus spindle, coolant , limits(hard and soft), lots more. Free! It would save you time. Mike
Why isn't GC Studio mentioned on the Great cow Basic website and the SourceForge great cow basic files?
Different com protocol. check this thread https://sourceforge.net/p/gcbasic/discussion/629990/thread/c527906a12/
Jeff , I am not sure what you are doing with the gps but I did some work a while back. https://sourceforge.net/p/gcbasic/discussion/629990/thread/0e660522/ ....................................... comport = 2 HSerReceive2(TempByte) 'Do nothing if it is default to make this code more efficient, instead of checking for the default value, check directly for data available. Just above this code If USART2HasData then comport = 2 HSerReceive2(TempByte) ...... rest of you code endif GL Mike USART2HasData...
I have been working on a PID control solution using an old 16F886. It will control the temperature chamber where my amplifiers and receivers for radio astronomy are located. They drift a lot because of heat and cool. On /off control can only keep them within 0.8C. The HI measurement has a definite washboard ripple in it. Tried adding mass and location of the probe, But PID next. Had some DS18B20's laying around and a protoboard with a 16F886 soldered on. Tried the DS18B20 Library and the simple demo...
The range on the max6675 is 0 to 1024 deg C with .25 deg resolution. so the Msb 10 bits are the whole degs bits 0 tristate bit 1 is ID bit 2 is open thermocouple bit 3 and 4 are the 0.25 deg C increments bits 5 thru 14 are the whole degC bit 15 is 0 Shifting right 5 throws away the .25 deg resolution and the lower flags
Stan, The range on servos is 1 to 2 ms not microsec
That is disappointing. It should of worked. It was green. At this point I would try two different things: 1) chmod +x gcbasic from that directory /opt/GCBASIC then try running it again gcbasic if it runs then your good 2) back out to the /opt directory remember cd .. sudo del GCBASIC this should wipe out the GCBASIC directory and everything in it check by looking at the directory ls you should not see GCBASIC now. so you can go back and follow the install instructions the second part cd \ press return...
Angel, yes, that worked! now it flashes . This takes the workout of programming pics. ThankYou Mike
Yes it says 2 months old. Version: 1.64.0 Commit: 5554b12acf27056905806867f251c859323ff7e9 Date: 2022-02-04T00:30:43.476Z Electron: 13.5.2 Chromium: 91.0.4472.164 Node.js: 14.16.0 V8: 9.1.269.39-electron.0 OS: Windows_NT ia32 6.1.7601 Probably need to download a newer one.
Angel, Thanks for the video but we need to step back another step. I don't have those icons on the upper right of the edit screen. How do I get those?? Thanks mike
Yay!!! You got there! Good work. It has been frustrating for both you and me! Now the bad news is it looks exactly right. "gcbasic" is green so it is executable. all the support directories are there. the calling scripts are there. flash.h, makeasm.sh, and makehex.sh so you have done it once. gotten to this exact spot. if not there , please go there again. We are going to see if the gcbasic is not on "path". so at the prompt /opt/GCBASIC $ type gcbasic and hit the <enter> key</enter> it should give...
I am trying out your GCstudio. I was delaying because I thought there was a learning curve. But it is very intuitive. So far editing, getting files, copying, saving, and compiling is great. I like it. BUT I can't find out how to flash from GCstudio? I have a PicKit2 When i press F5 it compiles just fine but returns that the flash was a -1 which means it didn't flash the chip. I have Pickit+ also. So the chip flashes when I use PicKit2 GUI and dig the hex file that GCstudio created. I think the auto...
Just shows me that you can't copy exact commands. You went the wrong place! first you found that "cd.." it thought was a file to execute in bash. then you found that "cd .." takes you down one position on the directory tree good. But where did you start from? from pi directory So you ended in "home" directory which is one directory from where you should have went. You should have one more "cd .." which takes you to root directory which is "$" so start over! where ever you are? On Terminal type: cd...
Ok, that screenshot did tell us the error. Directory already exists! can we assume that it tried to install earlier , made the directory, but failed to complete the install? Now we need the next screen shot of the /opt/GCBASIC directory from Terminal. Get your terminal hands on! On Terminal type: cd \ return return Now are we going to argue about which key is "return" is it the "enter" key, yes That is the beginning point. On Term type: cd .. OTT: ls says home OTT: cd .. OTT: ls now your in root...
Read the instructions. on the console type: cd \ on the console type: ls you should see all the files and directories in the home(pi) directory They are multi colored files from directories from executables otct: =on the console type: cd GCB@Syn in linux case is important, use exactly the right cases otct: ls otct: cd GreatCowBASIC otct: ls see the sources directory otct: cd sources otct: ls see the linuxbuild directory otct: cd linuxbuild otct: ls Yes the directory you should be in is: GCB@Syn/GreatCowBASIC/sources/linuxbuild/...
Console <-> Terminal Potato < - > Potatoe Pickle <-> cucumber what's an app? gcbasic is a compiler program that has switches and runs when called by you in terminal or by a script which are included in the install. gcbasic installs in /opt/GCBASIC directory stop sending windows screenshots because you are working on the terminal Remember you are working in Terminal. use your now learned terminal commands and get in the correct directory send terminal screenshot of : sudo ./install.sh install M
and that is the directory where you executed from? GCB@Syn/GreatCowBASIC/sources/linuxbuild/ sudo ./install.sh install did it give any errors? Where did bash come from? Your working from the console not bash.
Stan, Your close! hould the folder in GCB@Syn be GreatCowBASIC or GreatCowBasic please? Your right on your machine it is lower case. GreatCowBasic gcbasic compiled! Now you need the next instruction. otct: sudo ./install.sh install This makes the install, makes it executable from anywhere, any directory but from the console. finally we are back to what you were trying. sudo is super user which allows you to dig around below the "home" directory. otct: gcbasic you shoud get (base) mmotte@mmotte-OptiPlex-990:/$...
stan, If gcbasic was installed then it would run from anywhere. If I am going to help you Then you will need to use the console. Simple as that. First let us see if you have FBC working. on the console type: fbc -version What do you get? should be something like : (base) mmotte@mmotte-OptiPlex-990:~/GreatCowBASIC/sources$ fbc -version FreeBASIC Compiler - Version 1.07.1 (2019-09-27), built for linux-x86_64 (64bit) Copyright (C) 2004-2019 The FreeBASIC development team. (base) mmotte@mmotte-OptiPlex-990:~/GreatCowBASIC/sources...
Brian, I installed GCB in ubuntu mint 1804 after xmas a Dell tower PC version says : Version: 0.99.01 2022-01-27 (Linux 64 bit) : Build 1073 My FBC is older than yours: FreeBASIC Compiler - Version 1.07.1 (2019-09-27), built for linux-x86_64 (64bit) Copyright (C) 2004-2019 The FreeBASIC development team. gcbasic installs in /opt/GCBASIC directory I updated the instructions to install in Linux earlier this year and those are the instructions you are following. Thankyou for copying the command line...
Manuel, Happy you got it going! I was looking for the problem. Thanks for the program. i have as5600 chips coming on Thursday. Going to make dish antenna position sensors with them. 73 Mike
where do you download the new IDE?
look in the demo files under spi_solutions. ie. \GreatCowBasic\Demos\spi_solutions\avr_spi_examples Also when asking questions please specify the processor and your version of GCB.
Pekka, Welcome to Great Cow Basic! At the moment GCB does not support "single" or decimal values. It does use bit, byte, word, integer, and long. Decimals are under development right now. "HSerPrint 13" should be "HSerSend 13" because you are trying to give a CR. HSerPrint is overload to each of the variable types. So if you feed it a string, it will print a string. If you feed it a long , it will print the long. etc. If you need a hex then use "hex(AB)" to change it to string. Also "USART_BLOCKING"...
Keith, Most garage door remotes I have been associated with are only "one button" , one output. push it to go up when it is down. push it to close when it is open. Yours has an up button and down button. So does your wifi receiver have two relays? If it does then you would not even need a PIC to arbitrate and give an output. the relays could be wired as OR logic and you would be done. Best Regards Mike
How about something like this ProgLedGrn = 0 ProgLedRed = 0 Main: Do forever If RemoteUp =1 Then open_door Wait 500 ms ' this wait may not be needed and is only for not retriggering the sub ElseIf RemoteDown = 1 Then close-door Wait 500 ms ' this wait may not be needed and is only for not retriggering the sub ElseIf WiFi_Input1 = 1 And Old_WIFI = 0 Then ' You realy only need one of the WIFI inputs because they are always opposite Old_WIFI = 1 open_door ElseIf WiFi_Input1 = 0 And Old_WIFI = 1 Then...
Jay, GCB runs fine on Linux. I have installed it a few time but always with a few gotcha's. First the help file is here: http://gcbasic.sourceforge.net/help/_overview_linux_operating_system.html 1st secret: After downloading you will need a password to "unRAR" it. the pass word is on the download page of GCB. 2cd secret: Be in the correct directory before running the install.sh script. I don't know if it is always but I had to run the install twice, once to build and once to install? The gcb IDE...
Angel, Very nice code. Well commented, thank you. I don't know much about CAN_BUS but this this library makes it a useful tool and you don't need to know much. I understand that CAN is used in cars(and motorcylces?) and industrial control. I have worked on an Old Dynapath (late 1990's)CNC controller that used CAN for the I/O bus. At that time I was wondering how to explore the CAN_bus never pursued it. You have given the ability to log it here. So you are using an external bus controller and level...
Certainly the first example of need is when I was working on the BME280 sensor in 2018-19. It required the library to access the calibration data and perform quite complicated manipulations on the sensor data coming out to get the humidity, abs pressure, and temperature. Floating point was used by one of the examples in the data sheet. The data sheet also showed an signed integer solution but it was signed long 32bit not the signed 16 bit that gcb has. After months of trying various things, someone...