Great Cow BASIC version 0.98.07 is released

5-Jun-2021

Great Cow BASIC Version 0.98.07 is released.

The Great Cow BASIC development team have released another version of the software to enhance the Great Cow BASIC toolchain capabilities.

 

This release is called V0.98.07.   This release includes major changes in the support of PIC/AVR and LGT microcontrollers.


Great Cow BASIC IDE v0.98.07 click here to download GCB_Installer v0.98.07

  • You want the complete package; you want a complete installation of the IDE and GCGB.

  • This is the latest build with the Great Cow Basic compiler, the IDE and Great Cow Basic.
    This is a complete package. Contains demonstrations and seven microprocessor programmers
    (including the command line tools and GUI tools for the Microchip Pickit 2 & 3) for Microchip and AVR microprocessors.

 

This release includes the complete build shown above, a minimal build, a core build, a GCGB build, MacOS, BSD Linux and a standard Linux build.

 

For the full list details of the changes see https://onedrive.live.com/edit.aspx?resid=2F87FFE77F3DBEC7!67634&authkey=!ADmkT3exl5l4Pkc

 

Compiler

  • PIC, AVR and LGT microcontrollers supported with automated RAM clear down for AVR/LGT
  • PIC-AS compiler support for PICs
  • 31kHz automatic oscillator support
  • Improved support for block comments and line continuation
  • Native support for MPLAB-IDE config files
  • New support for setting variable bits with a variable as pointer to a specific bit
  • 32bit and 64bit Wintel support
  • Improved FOR-NEXT loop handler
  • New support for Table including CSV, multi-line and quotes
  • Improved ASM documentation including source location of sub routines, functions and macros
  • Improved reporting in HTML report file
  • Improved configuration file usage including updated PREFERENCES EDITOR
  • 100s of fixes

Device Files

  • Logic Green Technology (LGT) lgt8fx328p device added 
  • PICs added - 18F*Q10, 18F*Q43, 18F*Q41, 18F*Q40 and16F152xx, 
  • AVRs added -ATtiny20, ATtiny4, ATtiny40, ATtiny5, ATtiny9
  • AVRRCs added - ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny102 and ATtiny104
  • Refreshed all PIC18F devices to support memory optimisation

LCD

  • Improved LCD performance ( up to 35% faster)
  • K107 support added
  • 1601 support added

GLCD

  • ST7735 driver added and specific driver for ADAFRUIT display
  • e-Paper driver added
  • UC1601 driver added
  • SSD1306 Twin display driver added
  • ST7789 driver added
  • Improved nt7108c driver to support port.bit bus assignment.

PPSTOOL

  • Included PPSTool ICON in Winodws installation

Lowlevel

  • I2C - improved handlers, improved frequency calculator and support for all new chips added
  • PWM  - improved handlers and support for all new chips added
  • SPI - improved handler to include new support for PIC Fast Mode and support for all new chips added

Timers

  • Quality improvements  for TIMER 1, 3 and 5  in handling LFINTOSC

Programmers

  •  Added AVRrc Support to AVRDUDE

Tool Chain

  • IDE - Improved performance when compiling
  • IDE - Support for Block comments
  • IDE - Improved oscillator usage reporting

PICInfo

  • New utility to show parameters of PIC
  • Access Microchip webpages
  • Direct access to PPStool

HELP

  • Help updated to include quality improvements and new capabilities shown above.

Converters

  • New BMP converted to handle large BMPs  and data compression

Sensors

  • Quality improvements  for DS18B20 including response resolution
  • New max848xdigitalpot library

Enjoy

New Library: PCA9685

14-Jul-2018

 

The Great Cow BASIC development team have published support for the PCA9685.

 The PCA9685 is an I2C-bus controlled 16-channel LED controller optimized for servoes and Red/Green/Blue/Amber (RGBA) color backlighting applications.

Each output has its own 12-bit resolution (4096 steps) fixed frequency individual PWM controller that operates at a programmable frequency from a typical of 24 Hz to 1526 Hz with a duty cycle that is adjustable from 0 % to 100 % to allow the LED to be set to a specific brightness value.

 

  The board is available from many sources. A typical board looks like this.

 

  The library supports hardware I2C and software I2C.   Download the new library from here.

 

 

The public methods in the library are shown below - these public methods will ease the use of this complex board.

PCA9685_SetFreqency ( frequency_wordvalue ) a value from 24 to 1526
PCA9685_SetChannelDuty(  channel as byte , duty as word )  where duty is 0 to 100%
PCA9685_SetChannelOnOnly ( channel as byte , OnValue as word ) where Onvalue is 0 to 4095
PCA9685_SetChannelOffOnly ( channel as byte , OffValue as word ) where Offvalue is 0 to 4095
PCA9685_WriteChannel( channel as byte, OnValue as word, OffValue  as word ) ranges of 0 to 4095

 

 

Demonstrations

A full suite of demonstrations are in GitHub. The demos cover simple ON and OFF, simple usage, variable Duty (16bit and Percentage) and change frequency.   Download the demonstrations from GitHub here.

 

Enjoy the new library for Great Cow BASIC.

 

New Life for an old Microchip Board

2-May-2018

 

 

 

With the Great Cow BASIC development team putting many hours into reinvigorating the much loved PICKit2 programming application and it younger sibling, PICKit3, I thought this may be a good time to also look at the venerable Low Pin Count Demo Board that was originally available with those programmers.The boards are old now, and becoming hard to find, but Great Cow BASIC has lots of demo and tutorial files, for several devices, that are written specifically for these Boards.

 

 

What many people did not realise, when they bought the initial PICKit, and got the free board, was that the LPC Demo Board was the most cost effective and versatile PIC development board on the market at the time. It has been superseded now by the Curiosity board, but with PICKit2+ and PICKit3+ the good old LPC Demo Board can hold its own even against the Curiosity Board.

 
The Pin Out of the 20 PIN socket is such that it can accommodate not only 20 Pin devices but 14 Pin and 8 Pin devices too.  Those devices can be PIC12, PIC16 or PIC18 giving us a card no bigger than a credit card that can accommodate the vast majority of Microchip’s ever expanding range 8 Bit of Microcontrollers.

 
The enhancements that Evan has made in creating the Plus versions of the PICKit Software makes them even more useful now as even the latest PIC16F18xxx / PIC16F17xxx  series of Enhanced Core devices with, Intelligent Analog and Core Independent Peripherals, are fully supported. In fact with the combination of the PICKit+ Programmer software, the PPS Tool and Great Cow BASIC your trusty old PICKit Programmer and Low Pin Count Demo Board can handle many more leading edge devices than any of the commercial BASIC compilers, and even some flavours of C, all without having to replace your existing hardware or install cumbersome development environments.

 
Rather than worrying about buying a PICKit 4 and a development board you could be having fun learning new devices and peripherals, with the hardware you already have. By working your way through the “C:\GCB@Syn\GreatCowBasic\Demos\Vendor Boards\Microchip - Low Pin Count Demo Board” folder that can be found with the "View Demos" button on the GCBASIC Tool bar you can learn all sorts of tricks. So if you have an old Low Pin Count development Board in the bottom of your draw or parts bin, fish it out, dust it down and put it to use exploring Microchips newest devices.

 
And for those of you who were unfortunate enough to miss out, fear not, we will not leave you behind!

 
Here are two versions of the LPC Demo board that I call LPC BreadBoard, that are 100% compatible with all of the Great Cow BASIC demos too.

 

                                                                                

 

In future articles I will cover Pimping the Low PIN Count Demo Boards to make them even more useful. Show the Design and Construction of a Stripboard Advanced Low Pin Count Demo Board that you can build with bits from your parts bin.

 
A companion Board based on the MCP2221a (I2C/USART to USB Bridge) and I will even explore and Pimp the capabilities of the 28 Pin Demo Board, its Breadboard and it is stripboard equivalents to rival even the Curiosity High Pin Count board.

 
All thanks to PICKit+, and Microchip’s continued supply of DIP packaged devices, the hobby and educational side of Microcontrollers has never looked brighter, whilst the entry level costs in time and cash  has never been lower.

 
Let us spread the word and start a revolution of people learning and creating with Great Cow BASIC.

 
Article by Chris Roper

 
P.S.   For those who requested the 28 Pin Demo Board, here is a taster for you to get started on.

 


 

Welcome to 2018

28-Jan-2018

 

2018 is here and the month of January is nearly over.

 

Now it's time to face the news and challenges together with Great Cow BASIC - the year will be the year of version 1.00.  New libraries are being added all the time and new users are joining the community.  It will be a busy year for all.


And, Boris Breuer is busy publishing some great articles. The articles are published in the FullCirle Magazine, a magazine dedicated to Ubuntu flavours of Linux, but the Great Cow BASIC articles are great.   Those who use Linux will already know and have read the article anyway.  However, even for us non-Linux users these are a good read. And, in this New Year it is always good to look beyond the horizon.

 

Issue#129 shows how to use  the Great Cow BASIC ADC capabilities - download link.

Issue#128 shows how to use  the Great Cow BASIC PWM capabilities - download link.

Issue#127 contains the Introduction to Great Cow BASIC and how to get an LED to flash - download link.

 

Looking forward to the rest of 2018!

 

Northern Software Programmer in action!

17-Dec-2017

 

 

This is a great story of 'getting a programming microcontroller from Northern Software (Buy), add the components (Make) and use the software ( Use).

 

Buy: William Roth (Bill) one of the senior developers of Great Cow BASIC recently ordered several  5v Northern Software programming microcontrollers.  The whole project cost less then $10 USD.

 

Make: The project was simple, taking less than an hour. You need some skills to assemble and solder the components. 

 

Use:  Bill put a Northern Software programmer microcontroller  on a bread board and connected it up as per the diagrams on the Northern Software  website and connected it to a PIC18F25K42.  Installed and started the NSPROG application, selected the hex source file to program the PIC18F25K42 with, and hit the "Program" button.   Wow!! His words.

Instead of taking the usual 20 seconds to program a PIC using a PicKit3 programmer using MPLAB IPE,  programming was completed in less than 0.3 seconds.   That is more than 50 times faster and he no longer has time to refill his coffee, (or plant a new garden...) while waiting for the PIC to be programmed.

There are software options to programmer a PIC microcontroller with Northern Software - the user interface software and a command line utility.  The command line utility can be used with Great Cow BASIC so that one click PIC programming (Hex/Flash) can be used from the Great Cow BASIC IDE . 

For a more details on using the Northern Software programmer  with Great Cow BASIC please see  the forum at this link

 

 

Microchip Development Boards

27-Nov-2017

 

 

This quick review of the 8-bit boards available from Microchip. 

This includes Curiosity, Xpress, PICDEM and others.  This is not intended to be comprehensive or a complete review of every board product - we collated this information for a discussion with Microchip and we thought this may be useful to see the information all in once place.

 

Bill Roth, Chris Roper and Evan Venn authored and edited this information.

 

Item

Part #

Name

Rational

Characteristics

Usage

Cost

1

DM164137  

Curiosity LPC Development Board

These two boards (#1 and #2) will support development and testing of MikroBUS drivers on many of the current generation 8, 14, 20, 28 and 40 Pin PIC devices.  

 

These are suitable for beginners as a known working environment to learn on and are also suited to be used to develop revised Tutorial Guides and Videos as they have an integrated Programmer.

A DIP board with interchangeable devices, rather than a board with a dedicated processor, as a major part of the appeal of Great Cow BASIC is portability amongst devices in the 8 Bit family.

LVP,

PKOB,

Mikrobus,

Very limited populated board,

Can add PK3 programming port

Users & Developers

$20

2

DM164136  

Curiosity HPC Development Board

LVP,

PKOB,

Mikrobus,

Very limited populated board,

Can add PK3 programming port

Users & Developers

$32

3

DM160228

Explorer 8 Development Kit

Whilst the Curiosity boards are suitable for development, testing and training, there is a large body of PIC devices in the 18 PIN packages as well as other older devices in use by the Great Cow BASIC community.  

 

This board will support testing the libraries and drivers on these older devices with HVP as well as the newer LVP devices.

Supports all 8-bit Chips,

MikroBus,

Ext. programmer required

Developer

$75

4

DM164140

MPLAB Xpress

PIC16F18855

Evaluation Board

Great Cow BASIC demonstrations suite produced in 2016.

MikroBus,

LVP,

Integrated Programmer,

Bed of nail port * 2

Users & Developers

$12

5

DM164141

MPLAB Xpress

PIC16F18345 Evaluation Board

No Great Cow BASIC demonstrations

MikroBus,

LVP,

Integrated Programmer,

Bed of nail port * 2

Users & Developers

$12

6

DM164142

MPLAB Xpress PIC16F18877 Evaluation Board

No Great Cow BASIC demonstrations

MikroBus,

LVP,

Integrated Programmer,

Bed of nail port * 2

Users & Developers

$12

7

DM163046

PICDEM Lab II Development Platform.

This board supports MikroBUS drivers, that have been developed on the Curiosity Boards, with older Devices like the 18 PIN or older 14/20 pin PIC devices.   It would be assumed that the developer has a suitable PICKit available to use in that case.

 

However, as the PICDEM Lab has no onboard programmer, it is not really suited for developing beginner tutorials.

IO Pins no, MikroBus,

Ext Programmer Required

Developers

$100

8

PKSERIAL-SPI1  

PICkit Serial SPI demo board

This board will allow testing of SPI drivers against a known good reference source when  developing for and debugging, unknown SPI based Click Boards and user programmes.

SPI Interface only

Developers

$35

9

PKSERIAL-I2C1

PICkit Serial I2C demo board

This board will allow testing of I2C drivers against a known good reference source when  developing for and debugging, unknown I2C based Click Boards and user programmes.

I2C Interface only

Developers  

$2

Full Circle Magazine

27-Nov-2017

Great Cow BASIC on the front page of the November issues of the Full Circle Magazine.

 

 

Full Circle Magazine #127 https://fullcirclemagazine.org/2017/11/24/full-circle-magazine-127/

Northern Software Review

25-Nov-2017

This is a review of the Northern Software solution.

I needed a faster method of programming microcontrollers when developing Great Cow BASIC and I went on the hunt for an alternative to the MicroChip PICKit I was using.   The Northern Software solution is an alternative method to program Microchip PIC microcontrollers. 

I did some research and this is a summary of my research and how I have integrated this into the Great Cow BASIC IDE.

Northern Software

Northern Software’s is not just about a programmer(s). Northern Software has a mission to provide high quality tools tailored to microcontroller firmware development.     

What is the intent of Northern Software Development System?


To be the fastest method to program Microchip PIC microcontrollers.    

The tool suite is called Northern Software Development System (NSDS) and it is designed to support most Microchip PIC® microcontrollers. 

The system is still under development – the developer has completed the hardware programmers and he is developing a programming suite for Microchip PIC microcontrollers.  

 

What are the components of NSDS?

 

NSDS is a suite of programmers and supporting software.  There are two main components the programmers and the software are:

 

Northern Software Development Programmers (NSDP)

NSDPs are programmer/debuggers for Northern Software Development System, but , NSDPs can also be used with software programs like Great Cow BASIC. 

 

NSDS features

  • USB connectivity - interfaced to the host computer via USB that did not require any special drivers 
  • In-circuit programming and on-chip debugging
  • Uses low voltage programming (LVP) and by never applying high voltage to the target microcontrolllers
  • Can use High Volt Programming (HVP) with an external circuit
  • Can supply up to 200mA of USB power to the target circuit
  • Very easy to use.  The NSDP does not require firmware changes to program the microcontroller.  The same NSDP firmware works for all supported microcontrollers

The NSDSP’s use a 10-pin connector designed to keep it attached in the breadboard for prototyping.    If breadboard is not used.... just use a short cable to connect to your development board through Microchip 6-pin ICSP connector!  Very simple.

 


Northern Software - NSDS

The main software program is used to setup and program a microcontroller.   The software can be used for development as well as production programming, including serialized or parallel programming.

 

Software features

  • The operating speed of the NDSP can be set from 6MHz  to 50kHz to support a wide variety of operating conditions.
  • Supports for multiple NDSP devices connected to the host computer at the same time.
  • Serial communications – the NSDSP can work as UART-to-USB converter for the target PIC (as well as for any other device) with speeds from 1200 baud to 2Mbaud.
  • Supports Windows, Linux and Mac OS X

 

Installation

Installation is simple – I downloaded from the website and follow the dialogs.  

The main programming software has a MS-Window like interface.   It is easy to use but is not a user interface that I personally like.  The  main programming software enables you to select the parameters like the microcontroller type, the hex file and other tweaks that you may need.   From my experience the software is robust and very usable – small improvements to the user experience would make me very happy!

The software suite also has a number of command line utilities that support command line programming, serial communication and device discovery – again, these command line utilities are very good.   See below for the use of the command line utility when using with Great Cow BASIC.

The serial software is published for user development programs.


What are the five NSDSP options?


There are four NSDSP models, which operate at different target voltages, plus a pre-programmed chip for embedded into solutions.

  • NSDSP-1-3V3 - 3.3V
  • NSDSP-1-5V - 5V
  • NSDSP-1-U - 1.7 to 5.5V
  • NSDSP-1-I - 2.5 to 5.5V with galvanic isolation
  • Pre-programmed NSDSP chips to mount a NSDSP directly into a production circuit. This is a cost effective alternative to USB bootloader, but also works as a USB-to-UART converter for the application.

I have and use the NSDSP-1-U - 1.7 to 5.5V.  The green one - I have made a 3D case for mine to protect it.


What is the status of the development program?

 

The development program is active.    The hardware and software is available from http://www.northernsoftware.com.

The software is highly usable with issues being resolved quickly.  I was very impressed with requests for information and the resolution for a specific microcontroller to be supported was very fast.


What does the NSDS look like?

 

The user interface is shown below.  

 

Not my favorite user interface but as I use the command line utilities this very usable.


Does NSDS work?

Yes.

Programming is fast.  Very fast.  From my benchmarks  - 13s to 0.4s!! Stunning.

 

Works from the user interface, as shown above and it works from the command line, see later in this article.

 

How does NSDS work?

 

This is my overview... the architecture is relatively simple.   

 

At the core of the solution is the NSDSP Chip. A pre-programmed PIC16LF1454.  This chip handles the USB interface to the host computer and the programming and the serial interface to the target microcontroller.  There are other key passive components but the PIC16LF1454 is the smart part of the architecture.

 

The software is key.  This has the details ‘how to’ program the microcontroller.  The software is where the developer has embedded the ‘knowledge’ of vast array of supported microcontrollers.  When I started the review a specific was microcontroller not supported – I contacted the developer and the same day  I downloaded and installed the latest software with the specific microcontroller support. 

 

The software is a closed development.  Critics of closed developments will easily say 'the closed software means that there an issue' (not a risk as risk needs to be a specific stated time/date!) 'with respect to the future support of microcontroller in the future'.  This issue can be resolved by requesting licensing the software with an escrow agreement.

 

 

How does NSDS work with Great Cow BASIC?

 

Simple.

Download and install the command line utilities to the GCB@SYN directory into folder called ..GCB@SYN\NS.
Edit FLASHPIC.BAT and add the following to call the command programmer. You may wish to review the following TOPIC  https://sourceforge.net/p/gcbasic/discussion/projects%26guides/thread/81f52ddf/ to enable the support  of multiple programmers.

 

:NS
"ns\nsprog.exe" p -d "PIC%2" -i %1 -v


Then,  in you user program you need to ensure you have Low Voltage Programming enable by adding the following to your user program.

#config LVP=ON
 

The compile, program and enjoy the speed!

 

 

But... NSDS needs LVP and I have used HVP on my  microcontroller?


If you have used a PICKit or another HVP then the microcontroller will have the LVP flag unset.

 

Very simple to resolve.

 

Using High Voltage Programmer, either a PICKit2 / PICKit3 or alternative, and use the approoiate software for the specific chip.  Erase the program and this will reset the LVP flag within the microcontroller.  

 

Remember, PIC microcontrollers are shipped with LVP enabled - so if you use a brand new microcontroller you can use it in LVP mode with ease.  You just may to erase previously programmed microcontrollers.

 

 

Summary


NSDS suite works.  

 

NSDS is a development program.  

  • There may be issues - report this issues via the developer – he can only fix what they are told is broken
  • There may be microcontrollers not supported - just ask.
  •  

These programmers and the supporting software rock! 

 

This will save you hours of value time and lots of angst.
 

New Website launched

Many updates and features    4-Nov-2017

Say 'Hello' to the new icon!

 

 

You got a Feed Reader?

The news is now published via an Rss Feed!