PDA

View Full Version : A header wizard



cncmachineguy
- 30th August 2010, 17:36
At the risk of being accused of not wanting to "write" my code, I would love a header wizard. To me this would be a fill in the blank radio type GUI. Have it so :

1. User selects uP
2. select initial pin status
3. osc select

When finish is pressed, a "template" would be generated to write the code in.
If this were community enhanced, maybe the PBP users would build the .dat file for any device they are coding for if its not already available as a download.

The dat file of course would have all the options for that individul device. This way no 1 person has to bang out dat files for devices no one wants to use.

To me this would be helpful due to all the optional ways any 1 part can be setup.

Thoughts??

##################################
This project has taken off with Paul (http://www.picbasic.co.uk/forum/member.php?u=12850) working on a stand alone app. The latest beta can be found here (http://www.picbasic.co.uk/forum/attachment.php?attachmentid=4796&d=1284994747).
Thanks Paul.

Ioannis
- 1st September 2010, 10:46
4. ADC setup
5. Comparator setup
6. UASRT setup
7. I2C setup
8. SPI setup

But then think howmany flavors of controllers exist and how many combinations can be setup...

We need a wizard (of programming) to make the Header Wizard!

Ioannis

cncmachineguy
- 1st September 2010, 15:18
4. ADC setup
5. Comparator setup
6. UASRT setup
7. I2C setup
8. SPI setup


EXACTLY!!!



But then think howmany flavors of controllers exist and how many combinations can be setup...

Thats what I am thinking about




We need a wizard (of programming) to make the Header Wizard!

Ioannis

Seems to be a plenty of them around here :D

I think the power will be in the dat file. The "wizard" will load the dat for the selected device, and from there will know what options are available. In that way the wiz can determine what to display. Maybe a different page for each option.

maybe in rev 2 it can do some simple conflict checking to determine if trying to double assign functions.

I am not too familiar with the include files provided with mplab, but maybe these will work for the dat files?

mackrackit
- 1st September 2010, 22:00
I have 17 different flavors of PICs in inventory, several share the same data sheet and I only use maybe six of the flavors regularly.

For me a project like this would not be worth the time. If I were using a different chip every day then maybe it would be.

How many different chips do you plan on using?

cncmachineguy
- 1st September 2010, 23:36
well I really only have 4 different chips. The benefit for me is that I don't have to pour over the data sheet to find all the different setup options and make sure they are turned on or off. And I really don't do stuff with them often enough to retain a good working knowledge of them.

I guess it would be more useful for the programmer who doesn't work with it all the time.

Thank you for the input.

mackrackit
- 2nd September 2010, 00:07
Well that is why forums like this are handy. There is almost always someone with an answer.

A very usefull tool that answers some of the questions is mister e PicMultiCalc.
It has a baud rate calculator, time calculator and some other stuff.

Then the config options can be found for each chip in the Pxxx.inc file in the MPASM directory.

But again. It is easier for us to answer questions than it is to make a large data base.

Hmmm. Might be good extra credit for a student...
Or a community supported data base.
Darn it. Now you got me thinking about how something like this could be put together. :eek:

cncmachineguy
- 2nd September 2010, 00:40
Community supported database, that's the words I was looking for in my first post.

I posted this here in the "wish list" section, assuming the GUI part could be done by the pbp developers, so it would be an integrated part of mcs. Then "we" the community would build the database based on our needs.

I suppose an alternate solution would be, either a: if mcs supports plugins, we could develop it. Or b: just a stand alone app. I don't like that approace as much, cuz it won't feel intgreted.

mackrackit
- 2nd September 2010, 01:02
The forum is a canned system from V Bullitin so we can not do anything tied directly to it.

But Lester has made free websites available to forum users so maybe we could play with something there.

I will do some poking around. Could be fun.

cncmachineguy
- 2nd September 2010, 02:34
well Dave,

as it appears I have you at least intrested, do you have any ideas on how to use the wizard? I mean as a plugin, stand alone ....

mackrackit
- 2nd September 2010, 05:04
I was thinking something along the lines of SQL with a web interface (python of course).

To add data a form page would be used, so we will need to figure out what all this thing should do so a standard form can be used. Might have to have a couple standard forms, 16Fs and 18Fs.

Then a form for to set the parameters for the header.

Just a bit of planning to do.

Anyone else with ideas?

mackrackit
- 2nd September 2010, 06:07
Maybe fuse configuration would be a good place to start?

Ioannis
- 2nd September 2010, 08:41
And after we set up all the necessary little things on the form, Microchip(c) wll make this tiny change and screws everything :)

OK, I am joking, but the Form/SQL may have to be prepared for such a case.

Fuse settings is a good starting point as there is a lot of confussion on this. Every time I change a chip I have to scan the fuse settings which arfe not very obvious sometimes.

Ioannis

mackrackit
- 2nd September 2010, 12:28
And after we set up all the necessary little things on the form, Microchip(c) wll make this tiny change and screws everything :)

OK, I am joking, but the Form/SQL may have to be prepared for such a case.

Go from depreciated to inflated...
We may have to make a script for that.


Fuse settings is a good starting point as there is a lot of confussion on this. Every time I change a chip I have to scan the fuse settings which arfe not very obvious sometimes.

You too? My last big problem was a fuse mistake.
Give me a day or two and I will try to get something started.

Ioannis
- 2nd September 2010, 13:41
What a coincidence Dave, yeah me too. Embarrased to confess it...

Ioannis

cncmachineguy
- 2nd September 2010, 14:53
If by fuse bits, you guys mean the config bit, I'm not too embarrassed to confess. I have spent hours trying to debug code that doesnt work anymore. Just to realize I didn't set the clk in the settings part of mplab.

So That is a big part of what I hope this will resolve.:p

I think a database approach is great! To be clear, I won't be any help in its development besides being a tester. I have plenty of experience with lotus notes, but thats about it. I will learn if anyone wants to point me in the direction of the starting point for python. But my startup time may well exceed the time it takes for you pro's to be done.

So I will take a stab at how I see the "work flow" of writing a new PBP program:

click the wizard icon to start the wizard
upon it opening, choose an existing device,create new device, or check for updated db
existing device:
page 1 has config stuff like clk, wdt, etc
next page could be hardware stuff like mccp,a/d,esuart,etc
next page port assignment and I/O choices. also IOC and WPU on this page
next pages, everything else I can't think of right now.
finally after a zillion clicks, hit "print" or "Done" button and a text file is created to load into mcs

check for updates:
not much to say here, wizard will check for updated database

create new device:
form will follow the same format as using an existing device, except all options will be available. (does this make sense?)
when done, option to upload to the master database


A note about new device addition to the database. I feel like a new device should have some sort of flag with it indicating it is new and possibly not complete. This flag should ride with it until such time as it is blessed by some (ideas here?) verification method. This is just to try and prevent any badly built entries from corrupting the database.
The method could be 5 unique users "appove" it. This would get reported back to the master copy of the database.

My vote is to be able to have a local copy of the database so we are not dependant on web access to use the wizard.

ScaleRobotics
- 2nd September 2010, 16:21
It would be nice if this config fuse tool could parse the xxx.inc file, and post these options for you. That way, as new chips are given, the new .inc file inputs the data, without manual input. It is all here.



; Configuration Bits
;
; NAME Address
; CONFIG1H 300001h
; CONFIG2L 300002h
; CONFIG2H 300003h
; CONFIG3L 300004h
; CONFIG3H 300005h
; CONFIG4L 300006h
; CONFIG5L 300008h
; CONFIG5H 300009h
; CONFIG6L 30000Ah
; CONFIG6H 30000Bh
; CONFIG7L 30000Ch
; CONFIG7H 30000Dh
;
;================================================= =========================

; The following is an assignment of address values for all of the
; configuration registers for the purpose of table reads
_CONFIG1H EQU H'300001'
_CONFIG2L EQU H'300002'
_CONFIG2H EQU H'300003'
_CONFIG3L EQU H'300004'
_CONFIG3H EQU H'300005'
_CONFIG4L EQU H'300006'
_CONFIG5L EQU H'300008'
_CONFIG5H EQU H'300009'
_CONFIG6L EQU H'30000A'
_CONFIG6H EQU H'30000B'
_CONFIG7L EQU H'30000C'
_CONFIG7H EQU H'30000D'

;----- CONFIG1H Options --------------------------------------------------
_OSC_LP_1H EQU H'F0' ; LP
_OSC_XT_1H EQU H'F1' ; XT
_OSC_HS_1H EQU H'F2' ; HS
_OSC_RC2_1H EQU H'F3' ; External RC, RA6 is CLKOUT
_OSC_EC_1H EQU H'F4' ; EC, RA6 is CLKOUT
_OSC_ECIO_1H EQU H'F5' ; EC, RA6 is I/O
_OSC_HSPLL_1H EQU H'F6' ; HS-PLL Enabled
_OSC_RCIO_1H EQU H'F7' ; External RC, RA6 is I/O
_OSC_IRCIO_1H EQU H'F8' ; Internal RC, RA6 & RA7 are I/O
_OSC_IRC_1H EQU H'F9' ; Internal RC, RA6 is CLKOUT, RA7 is I/O
_OSC_RC1_1H EQU H'FB' ; External RC, RA6 is CLKOUT
_OSC_RC_1H EQU H'FF' ; External RC, RA6 is CLKOUT

_FCMEN_OFF_1H EQU H'BF' ; Disabled
_FCMEN_ON_1H EQU H'FF' ; Enabled

_IESO_OFF_1H EQU H'7F' ; Disabled
_IESO_ON_1H EQU H'FF' ; Enabled

;----- CONFIG2L Options --------------------------------------------------
_PWRTEN_ON_2L EQU H'FE' ; Enabled
_PWRTEN_OFF_2L EQU H'FF' ; Disabled

_BOREN_OFF_2L EQU H'FD' ; Disabled
_BOREN_ON_2L EQU H'FF' ; Enabled

_BORV_45_2L EQU H'F3' ; 4.5V
_BORV_42_2L EQU H'F7' ; 4.2V
_BORV_27_2L EQU H'FB' ; 2.7V
_BORV_20_2L EQU H'FF' ; 2.0V

;----- CONFIG2H Options --------------------------------------------------
_WDTEN_OFF_2H EQU H'FE' ; Disabled
_WDTEN_ON_2H EQU H'FF' ; Enabled

_WINEN_ON_2H EQU H'DF' ; Enabled
_WINEN_OFF_2H EQU H'FF' ; Disabled

_WDPS_1_2H EQU H'E1' ; 1:1
_WDPS_2_2H EQU H'E3' ; 1:2
_WDPS_4_2H EQU H'E5' ; 1:4
_WDPS_8_2H EQU H'E7' ; 1:8
_WDPS_16_2H EQU H'E9' ; 1:16
_WDPS_32_2H EQU H'EB' ; 1:32
_WDPS_64_2H EQU H'ED' ; 1:64
_WDPS_128_2H EQU H'EF' ; 1:128
_WDPS_256_2H EQU H'F1' ; 1:256
_WDPS_512_2H EQU H'F3' ; 1:512
_WDPS_1024_2H EQU H'F5' ; 1:1024
_WDPS_2048_2H EQU H'F7' ; 1:2048
_WDPS_4096_2H EQU H'F9' ; 1:4096
_WDPS_8192_2H EQU H'FB' ; 1:8192
_WDPS_16384_2H EQU H'FD' ; 1:16384
_WDPS_32768_2H EQU H'FF' ; 1:32768

;----- CONFIG3L Options --------------------------------------------------
_T1OSCMX_OFF_3L EQU H'DF' ; Active
_T1OSCMX_ON_3L EQU H'FF' ; Inactive

_HPOL_LOW_3L EQU H'EF' ; Active low
_HPOL_HIGH_3L EQU H'FF' ; Active high

_LPOL_LOW_3L EQU H'F7' ; Active low
_LPOL_HIGH_3L EQU H'FF' ; Active high

_PWMPIN_ON_3L EQU H'FB' ; Enabled
_PWMPIN_OFF_3L EQU H'FF' ; Disabled

;----- CONFIG3H Options --------------------------------------------------
_MCLRE_OFF_3H EQU H'7F' ; Disabled
_MCLRE_ON_3H EQU H'FF' ; Enabled

;----- CONFIG4L Options --------------------------------------------------
_STVREN_OFF_4L EQU H'FE' ; Disabled
_STVREN_ON_4L EQU H'FF' ; Enabled

_LVP_OFF_4L EQU H'FB' ; Disabled
_LVP_ON_4L EQU H'FF' ; Enabled

_DEBUG_ON_4L EQU H'7F' ; Enabled
_DEBUG_OFF_4L EQU H'FF' ; Disabled

;----- CONFIG5L Options --------------------------------------------------
_CP0_ON_5L EQU H'FE' ; Enabled
_CP0_OFF_5L EQU H'FF' ; Disabled

_CP1_ON_5L EQU H'FD' ; Enabled
_CP1_OFF_5L EQU H'FF' ; Disabled

_CP2_ON_5L EQU H'FB' ; Enabled
_CP2_OFF_5L EQU H'FF' ; Disabled

_CP3_ON_5L EQU H'F7' ; Enabled
_CP3_OFF_5L EQU H'FF' ; Disabled

;----- CONFIG5H Options --------------------------------------------------
_CPB_ON_5H EQU H'BF' ; Enabled
_CPB_OFF_5H EQU H'FF' ; Disabled

_CPD_ON_5H EQU H'7F' ; Enabled
_CPD_OFF_5H EQU H'FF' ; Disabled

;----- CONFIG6L Options --------------------------------------------------
_WRT0_ON_6L EQU H'FE' ; Enabled
_WRT0_OFF_6L EQU H'FF' ; Disabled

_WRT1_ON_6L EQU H'FD' ; Enabled
_WRT1_OFF_6L EQU H'FF' ; Disabled

;----- CONFIG6H Options --------------------------------------------------
_WRTB_ON_6H EQU H'BF' ; Enabled
_WRTB_OFF_6H EQU H'FF' ; Disabled

_WRTC_ON_6H EQU H'DF' ; Enabled
_WRTC_OFF_6H EQU H'FF' ; Disabled

_WRTD_ON_6H EQU H'7F' ; Enabled
_WRTD_OFF_6H EQU H'FF' ; Disabled

;----- CONFIG7L Options --------------------------------------------------
_EBTR0_ON_7L EQU H'FE' ; Enabled
_EBTR0_OFF_7L EQU H'FF' ; Disabled

_EBTR1_ON_7L EQU H'FD' ; Enabled
_EBTR1_OFF_7L EQU H'FF' ; Disabled

;----- CONFIG7H Options --------------------------------------------------
_EBTRB_ON_7H EQU H'BF' ; Enabled
_EBTRB_OFF_7H EQU H'FF' ; Disabled


_DEVID1 EQU H'3FFFFE'
_DEVID2 EQU H'3FFFFF'

_IDLOC0 EQU H'200000'
_IDLOC1 EQU H'200001'
_IDLOC2 EQU H'200002'
_IDLOC3 EQU H'200003'
_IDLOC4 EQU H'200004'
_IDLOC5 EQU H'200005'
_IDLOC6 EQU H'200006'
_IDLOC7 EQU H'200007'
It would even be a start to be able to click on your selections, and have it bring up relevant code for both including in your code, or for adding to your PBP inc file.

like:


asm
__CONFIG _CONFIG1H, _OSC_HSPLL_1H
__CONFIG _CONFIG2H, _WDTEN_OFF_2H & _WDPS_512_2H
__CONFIG _CONFIG4L, _LVP_OFF_4L
endasm
It looks like Proton has a simple config "tool" here:
http://wiki.picbasic.org/index.php?n=Plugins.FuseConfigurator
4761

CCS just shows you the configs, like this:
4762

It would be nice to expand on it, and make it easier. I think everyone has gotten stuck with configs. I know I sure have.

With a quick look around the net, I can't find any manufacturer or software maker that has made this very easy for any chip. You would think Microchip would be interested in this, as it would really give them an edge. Perhaps you can sell it to them when you are done!

Ioannis
- 2nd September 2010, 20:33
CCS seems more human friendly with the plain english explanation. What the heck is that FCMEM_ON anyway?

You see what I mean?

If Dave manage to complete this maybe Melabs or Mecanique would be interested too. It would be a great tool for amateurs or pros.

Ioannis

Acetronics2
- 2nd September 2010, 20:58
HI, Walter

And what about the MPLAB config screen, once " config bits set in code " being unchecked ???

noooooo .... not on the head !!! :D

Ok, the VDI doesn't exist any more ... :eek:

Alain

ScaleRobotics
- 2nd September 2010, 21:21
Ok Alain, I think I am up to speed. Here is the MPLAB window with nifty drop down boxes:

4764


I had to look up what VDI was. But I like it! Looks like even Microsoft could not keep up with their own chips. When did this VDI get exxed?

Yes Ioannis, I hear you as well. Like Dave says, a database could be made with all the descriptions. Hopefully a new chips .inc file could be parsed, and the corresponding English text description would be pulled. It would be neat to try initially with two or three families of chips, to see what it takes.

cncmachineguy
- 2nd September 2010, 21:42
I've been trying to remember the VDI for a while now. I played with it once about 6 years ago, but it didn't support the chip I was using at the time.

It is basically what I was thinking about, but doesn't need to be graphical.

Being able to use the .inc files to populate the form is a great idea, but it may add loads of complexity to the application. I really don't think entering the data the first time will be an issue. After all, without the wizard, you would have to type it all in a program and hope you didn't miss anything.

As for selling it to someone or some company, of course I have no control over that. But I really did see this as GNU. Now if it comes down to 1 person doing all the work, and its not a community project, well that person should have the say about its eventual distrubtion.

I have been talking to people here at work, and I am told SQL is a kin to lotus notes. If thats the case, maybe I can be useful in this design effort.

@dave, please point me to exactly the software you are looking at for this.

mackrackit
- 2nd September 2010, 22:46
I am not familiar with lotus notes. SQL or SQLite are just data base engines.
But after reading the comments I am not sure if that is the best way. Like Walter said, it is in the *.inc.

Might just parse the inc. Would have to have a couple or three pre-set parameters because not all incs are equal...

I decided some time back to only use Python for PC stuff, cross platform and free :) Command line, GUI, CGI..

Goto python.org and look at the cgi module. I think a web interface for this is what we want, but still open to suggestions.

Marketing sounds nice but a community project would be fun. Besides that I may not have the time to do it all myself, nor may I have all of the skills needed. I certainly do not know everything about every chip... So help will be needed.

cncmachineguy
- 3rd September 2010, 00:52
I'm not sure how the parsing of the files will work, but it would for sure eliminate the need for the database. then we would have a stand alone app using the *.inc provided by microchip.

Do the inc files have all the data to do as I have "wished" for? I assume they do, but just don't know.

I will have a go at python. I would love to learn a language to write stuff for windows. I have been using ruby (very little) to write a plugin for sketchup. but at this point, i am not set on anything.

python 2.7?

Have any thoughts on work flow as I posted?

mackrackit
- 3rd September 2010, 02:09
I am not so sure about a stand alone app. If it were web based then updates would be easier.

Pretty much everything about the chip is in the inc.

Python 2.6 or 2.7. Not 3.xx Many web servers have not went with 3 yet and there are just enough changes that I am aware of to cause problems. There are some app to convert 2.xx to 3.xx but I have not used them.

Work flow...
I am still thinking how to go about it.
Something like...
A script to parse the inc to place the data we want in a "standard" format for each series. Figure the configs would be a good starting/testing app at first. Take a look at the differences in the configs between a random 16F and 18F.

A new file would be created for each chip? Or a data base entry made? Or just work this into the main app directly from the inc, but that might slow things down some.

Then when a chip is selected the file is read to see if MCLR has an option (example) or internal OSC. The config select part of the app would then be populated with radio buttons to turn MCLR ON/OFF, another option for the OSC speed and type...

The app would then run through the file, with a little logic, for things like PLL USB DIV.

The completed configs would then be printed ready to copy paste.

Something like that...

cncmachineguy
- 3rd September 2010, 02:35
Thanks for the python info, i will download and install tonight. I was running out of new things to learn, down to only 4 or 5.

I agree with the updating and the web access.

I also agree starting with the configs will be a great start and instantly useful.(always a good thing)

new file vs database vs direct read on the fly. hmm, I am not sure about the extra time for the direct read. do you think we are talking seconds, minutes? big pro to me for the direct read would be the .inc files are maintained by microchip, so in theory they will always be up to date.

sounds to me like the operation and use is the same as I was thinking, so I second that.

instead of copy and paste, I was thinking the file itself would just be opened and start coding from there.

Ioannis
- 3rd September 2010, 12:12
Sorry if this is a stupid question,but how a web based app will find those *.inc files?

Aren't they stored locally in he MPLAB folder?

Ioannis

mackrackit
- 3rd September 2010, 12:17
Sorry if this is a stupid question,but how a web based app will find those *.inc files?

Aren't they stored locally in he MPLAB folder?

Ioannis

They would have to be uploaded.

Ioannis
- 3rd September 2010, 12:48
OK. I feel very stupid... Thank you!

Ioannis

mackrackit
- 3rd September 2010, 13:07
OK. I feel very stupid... Thank you!

Ioannis
No reason to feel that way.
I tried finding them on MicrChip's website with the idea of scraping from there. Looks like the only place to find them is on our hard drives.

I wonder how often they are updated?

Ioannis
- 3rd September 2010, 13:19
Hmm, Every time a new MPLAB appears? I can do that.

Ioannis

mackrackit
- 3rd September 2010, 13:47
I have never paid any attention, even "old" chips have their *.inc changed/updated?
That would make this project only usable to those with a certain version of MPLAB.

I have not updated for awhile, still have MPLAB 8.0 .
If your are using a newer version does yours match this?

Ioannis
- 3rd September 2010, 14:31
Dave the file is absolutely the same, Rev. 1.

Hope they do not mess with the format of the files.

If this is the case things are a little easier.

My current MPLAB is 8.50.

Ioannis

Acetronics2
- 3rd September 2010, 18:21
Hi,

May I :confused: tell you you could have an eye on the MikroE Edit Project Window ...

on the left side ... the config options
in the window ... the HEX config values for the different config xx registers ...:rolleyes:

the .cfg file do not show " Config xx " so, it's a bit trickier ...

BTW ... it's DELPHI written ...

Alain

ScaleRobotics
- 3rd September 2010, 18:37
Yes, I guess I had that under my nose, but failed to notice it. That is about the best I have seen.

4767

mackrackit
- 3rd September 2010, 19:00
Looks like I need to try that.
Does it produce stuff that can be used in PBP code?

ScaleRobotics
- 3rd September 2010, 19:10
No, it is the programmer interface, and edits the config bits after compiling your hex file, just prior to programming.

Acetronics2
- 3rd September 2010, 20:51
No, it is the programmer interface, and edits the config bits after compiling your hex file, just prior to programming.

not the programmer interface, Walter ...



MikroE Edit Project Window

Archangel
- 4th September 2010, 00:33
%
Hello cncmachineguy,
Here are a couple of ideas I have given thought to:
1. Make "Include" files for the chips you use regularly.
2. make start up files for each chip and name them accordingly, use lots of comments on the register settings so you do not have to bury yourself in them each time. Then after opening them, save them as your new project name, something like Blinky16F690.bas. Lots of us make new File directories for each project, so this naming convention works if you recompile for a different chip, say Blinky16F648A.bas, then all your hex files will be named that way too.
BTW
I program and run a Fadal TRM when I work, great to see another cnc guy here.
%

cncmachineguy
- 4th September 2010, 01:27
Wow! lots of intrest. I would like to point out while all the solutions presented seem to be great ideas for tending to the config bits, the goal is a total configuration tool. The config bits are just a starting point. Don't get me wrong, I do appreciate the tips.

@Joe, that is a great idea, and may very well be the better option, but this IS the "wish list" section.

I have 3 bridgeport VMC's all running DX2 controls, and a FEMCO lathe with a fanuc control. I agree it is nice to find others with like jobs.:D

rmteo
- 4th September 2010, 02:33
What type of tool changer do your Bridgeport VMC's have? Side-mount or carousel style?

rsocor01
- 4th September 2010, 06:06
Hi guys,

Let me get my inexperienced nose into this conversation :). But, unless I'm missing something here, there is already a software out there that helps you to set the configuration fuses in your PIC. It is easy to use and you don't need to worry about the INC files or anything like that. This software comes with the U2 Melabs programmers.

http://store.melabs.com/prod/u2/U2.html

Robert

cncmachineguy
- 4th September 2010, 06:30
What type of tool changer do your Bridgeport VMC's have? Side-mount or carousel style?

they all have 22 station carousel. vmc1000/22, vmc760/22 and torque cut 22. I've had the 1000 sinc new,1996. The oters I bought used.

mackrackit
- 4th September 2010, 08:52
Hi guys,

Let me get my inexperienced nose into this conversation :). But, unless I'm missing something here, there is already a software out there that helps you to set the configuration fuses in your PIC. It is easy to use and you don't need to worry about the INC files or anything like that. This software comes with the U2 Melabs programmers.

http://store.melabs.com/prod/u2/U2.html

Robert
But that is not free.


cncmachineguy
Wow! lots of intrest. I would like to point out while all the solutions presented seem to be great ideas for tending to the config bits, the goal is a total configuration tool.
One step at a time. The configs seem to be the thing that give most folks the most trouble, then ADC, then timers. PicMultiCalc has the timer part covered.

malc-c
- 4th September 2010, 11:50
Interesting thread. My 2c worth:

Looking back at a lot of posts from people starting with PICs the most common stumbling block is the port settings, especially with chips like the 12F675 which requires the ports to be set to digital rather than have them digital as standard. It would be useful to simply select the chip, select if you want ADC, etc and then click on the "copy code to clipboard" button like mr-e's pic calc.

Like I said, just suggestions... I'f what ever you guys come up with, if it makes getting started with a new chip easier I'm all for it :)

mackrackit
- 4th September 2010, 12:19
malc-c
Have you ever used this?
http://www.picbasic.co.uk/forum/showthread.php?t=11100

malc-c
- 4th September 2010, 16:53
Dave, to be honest no !

I know DT has some useful utils / included files, but I've not used that one.

Often, where I gets stumped is when you want a selection of multiplexed pins on one port, you know, the first 4 pins analogue, the next two digital and the remaining something else :)

mackrackit
- 4th September 2010, 17:26
and the remaining something else
Those are the tricky ones :D

I understand exactly,
To ANSEL or not to ANSEL...

rmteo
- 4th September 2010, 18:29
they all have 22 station carousel. vmc1000/22, vmc760/22 and torque cut 22. I've had the 1000 sinc new,1996. The oters I bought used.
OK, thanks.

Acetronics2
- 4th September 2010, 19:28
Hi, Guys

has someone tried CCS, Flowcode, WIZ-C or The Cypress Psoc Express ???

Worth the look ... ;)

Alain

mackrackit
- 4th September 2010, 20:22
Hi, Guys

has someone tried CCS, Flowcode, WIZ-C or The Cypress Psoc Express ???

Worth the look ... ;)

Alain
Never heard of them..
What do they do?

Acetronics2
- 4th September 2010, 20:54
Never heard of them..
What do they do?

Hi, Dave

Those 4 "C" PIC compilers have really really nice advanced config Wizards ... BTW ... I forgave CodeWarrior " Processor Expert " for Moto ... euhhh Freescale processors.

May be CCS is the " Weakest " of all ( but one can add custom peripheral drivers ... shhhht ! ) ... :D and it's not so bad !!!
WIZ-C is really astonishing ...

Alain

mackrackit
- 4th September 2010, 21:48
Alain,

Do any of them save the configs to code or do they modify the hex at program time?

rsocor01
- 5th September 2010, 07:42
Alain,

Do any of them save the configs to code or do they modify the hex at program time?

Dave,

I don't know about the different software packages that Alain is talking about. But, in case that you might want to know the MELAB programmer software modifies the code at programming time. It does not include the PIC configs in the code that you are writting.

I downloaded the MPLAB C18 demo version and I will be playing with it pretty soon. I will let you if this "C" software has any tools to help you set the PIC configs.

Robert

Acetronics2
- 5th September 2010, 18:43
Alain,

Do any of them save the configs to code or do they modify the hex at program time?

Ok, Dave
... a quick look seems to show they directly produce the full Hex code @ compile time ... ( no intermediate files )

The only one I saw you can easily access the configs values ( Hex given ) for each register is MkE IDE ... ( see some posts above )

Alain

mackrackit
- 5th September 2010, 23:21
A very small start.
http://wiz.mackrackit.cambs.net/
I will post a project log and any code used at the above address if anyone want to work on it.
If you have suggestion or code lets play. I will work on it as time permits.

cncmachineguy
- 6th September 2010, 02:00
Dave, you are awesome! I see you must be working from an older copy of mplab? I had to update in order to have support for 16f1946. If you want, I can send you my *.inc files.

mackrackit
- 6th September 2010, 02:13
Ioannis sent the incs from version 8.5 .
I just have not moved them into the project directory yet, ooppss.
Thanks for the reminder.

cncmachineguy
- 6th September 2010, 02:22
i have 8.53. dont know if there is any difference

mackrackit
- 6th September 2010, 09:22
Seems like I am always slow to upgrade. I will install 8.53 .
And I need to get one of those 18FxxJxx chips...

ardhuru
- 8th September 2010, 04:37
1. User selects uP
2. select initial pin status
3. osc select



The Proton guys had developed something that did all the above and more. Unfortunately, I cant seem to find the installable anymore on the net.

And it could do only 16Fxxx.

The developed header was of course for the Proton, but could easily be adapted for PBP.


4773Regards,

Anand.

mackrackit
- 8th September 2010, 11:09
Seems that program has disappeared. I only found one thread mentioning it on the Proton forum. Looked like it was from the writer but the link was broken.

ardhuru
- 8th September 2010, 11:29
Yes, I noticed that.

I have it installed on my system, but dont seem to have the original installable. However, it does seem to be a portable app, as it works on any PC I copy that folder to.

It was a free utility, so I can mail it to anyone who is interested; its about 3 MB in size.

Regards,

Anand

Acetronics2
- 8th September 2010, 12:02
Yes, I noticed that.

I have it installed on my system, but dont seem to have the original installable.
Anand

Hi, Anand

may be one can find it here :

http://depositfiles.com/files/urjh2so1w

...

Alain

mackrackit
- 8th September 2010, 12:07
Not so nice.
Looks like a pay thingy just to download.

cncmachineguy
- 8th September 2010, 12:39
The Proton Header Maker looks close to what I think we are after. Thanks for the screen shot, looks like a nice layout to shoot for.

Acetronics2
- 8th September 2010, 13:16
Not so nice.
Looks like a pay thingy just to download.

???

just like other download sites : OR you pay OR you wait a while ( was 1 mn for me ...)

You even do not have to register ...

That said, this wizard is nice ... his PBP dedicated brother would be THE Thing ... to make lots more lazy users ...;)

Alain

mackrackit
- 8th September 2010, 13:33
???

just like other download sites : OR you pay OR you wait a while ( was 1 mn for me ...)

You even do not have to register ...

That said, this wizard is nice ... his PBP dedicated brother would be THE Thing ... to make lots more lazy users ...;)

Alain
Sometimes I am tecknochallanged :)
will try again later.

Lazy user?? Yup, sounds good to me :D

Ioannis
- 8th September 2010, 13:44
Well, if I get a program to write my code then I would be very very lazy. ( And I would like it very much!).

But only for the borring job of setting fuses and searching those *.inc files for settings, if I get the nick name lazy then ... be it.

I preffer to do my job than the above little stupid things.... Especially whenever a chip is changed.

So, who else feels lazy? Join the club.

Ioannis

cncmachineguy
- 8th September 2010, 13:47
@Dave, It is in fact free to download, you do have to wait for the timer to run out.

I have downloaded it and it is in fact pretty much just what I am wishing for. I think its a great example! Doesn't seem to support all the chips, but the layout is pretty nice. Well and of course it is for proton not PBP!

Count me in for Lazy!! I love coding, but HATE housekeeping!

Acetronics2
- 8th September 2010, 13:56
Yess ...

as long as the wizard does not forget little details ... or solve uncompatibilities ...

you can rely on it.



Hi, dear Mackrackit

...
I did everyting right, simulation in Proteus works fine, but on board, it doesn't work.

So, I do not understand.

HEEEELP !!!


lazy programmers ... yes, nice. But animators won't have to be lazy ... :rolleyes:

Alain

ardhuru
- 8th September 2010, 14:40
may be one can find it here :

http://depositfiles.com/files/urjh2so1w



Thanks for fishing that out, Alain.

Now to wait till one of the geniuses here create a PBP version...

Regards,

Anand

prstein
- 9th September 2010, 22:20
I've started working on a stand-alone PBP header-wizard program and it's bringing some questions to light...

Right now it parses the .inc files for the selected PIC (if they're not in the default locations on you computer you have to set the paths). From the MPASM files it parses out all of the provided configuration settings, and from the PBP folder it parses out the current default configuration settings.

In thinking about where to go from here, there are at least a couple of chips that do not appear support any sort of _CONFIG. __config, or whatever statements. A prime example is the 18F67J50. You're forced to use something like, for example "CONFIG FOSC = HSPLL".

Now putting the line "@ CONFIG FOSC = HSPLL" in a blank program compiles just fine so long as the the CONFIG lines are remmed in the PBP include file. However, when it gets put at the top of a working program it causes all sorts of warnings and errors to appear and the configuration settings do not get transferred to the programmer.

So, is it even possible to put in-line config settings in this class of device? Is the only option to edit the PBP include file?

Thanks for your time...

Best Regards,
Paul

ScaleRobotics
- 10th September 2010, 04:17
Right now it parses the .inc files for the selected PIC (if they're not in the default locations on you computer you have to set the paths). From the MPASM files it parses out all of the provided configuration settings, and from the PBP folder it parses out the current default configuration settings.

That sounds great!

I can get it to compile using something like this at the front of a large program, even with some includes thrown in for the PIC18F67J50. And I see the change in my PicKit2 programmer. (Doing so with PBP inc files configs remmed out).



asm
CONFIG XINST = OFF
CONFIG PLLDIV = 5
CONFIG WDTPS = 512
CONFIG CPUDIV = OSC1
CONFIG FOSC = HSPLL
endasm

or:


@ CONFIG XINST = OFF, PLLDIV = 5, WDTPS = 512, CPUDIV = OSC1, FOSC = HSPLL




See Bruce's post here: http://www.picbasic.co.uk/forum/showthread.php?p=13087#post13087

There are some issues with other newer chips though. For instance the PIC26J50 uses OSC instead of FOSC, which really throws a wrench in the works. (See semi work around here: http://www.picbasic.co.uk/forum/showthread.php?t=543&p=90854#post90854 ) If anyone wanted to get fancy: If it was one of the chips that required a change to the pbp .inc file .... It could ask you "would you like me to edit your 18F26j50.inc file?" That would be so much nicer than looking through the list of chips, finding it, commenting other stuff out, and entering new settings, then hitting save. Don't know how many other chips we are talking about here though.

I am not sure if it helps, but here is a PDF with a lot of chip's configs:
http://ww1.microchip.com/downloads/en/DeviceDoc/C18_Config_Settings_51537f.pdf

mackrackit
- 10th September 2010, 04:28
Hi Paul,

Just curious. Do you plan on having your program open source?

prstein
- 10th September 2010, 04:51
Hello scalerobotics,

Whoa. Thanks for that great info! I've mostly been using the wiki article as a reference.

When I copy just your code,

asm
CONFIG XINST = OFF
CONFIG PLLDIV = 5
CONFIG WDTPS = 512
CONFIG CPUDIV = OSC1
CONFIG FOSC = HSPLL
endasm

it compiles just fine. When I add the single line "PORTB.0 = 0" it gives me two warnings and an error:

Warning[220] c:\pbp\pbppic18.lib 958 : Address exceeds maximum range for this processor.
Error[118] c:\pbp\pbppic18.lib 958 : Overwriting previous address contents (FFF9)
Error[118] c:\pbp\pbppic18.lib 958 : Overwriting previous address contents (FFFA)

So, did you have to do the "replace OSC with XTAL in PBPPIC18.LIB" thing to get it to work?

Best Regards,
Paul

prstein
- 10th September 2010, 05:03
Just curious. Do you plan on having your program open source?

Hello Dave,

I certainly have no objections to sharing the code for this but I haven't a clue about how to explicitly "open source" a project. I'm open to suggestions.

I'm writing the application in Delphi v4, mostly because I've been writing in various flavors of C/C++ for the past several months and I wanted (needed!) a change...8^)

Best Regards,
Paul

ScaleRobotics
- 10th September 2010, 05:11
When I add the single line "PORTB.0 = 0" it gives me two warnings and an error

Something is fishy here. I can add the line without errors. I am using MPASM 5.35, and PBP 2.60A.



So, did you have to do the "replace OSC with XTAL in PBPPIC18.LIB" thing to get it to work?

Yes, I did have to for the 18F26j50. Not the best solution. As it might break any include file that tried to look at the osc speed. But I still like it better than editing the .inc file by hand each time I try something different. I'll be keeping my eyes peeled to see if MeLabs can make a proper fix. Microchip has thrown the curveball, making changes that affect their 3rd party development tools.

If yours or Dave's header program could do it and relieve some of the configuritis pain I feel each time I go to a new chip, (or one I forgot), that sure would be great.

Thanks you guys for giving it a go.

prstein
- 10th September 2010, 05:37
Something is fishy here. I can add the line without errors. I am using MPASM 5.35, and PBP 2.60A.

My MPASM is 5.20, the files distributed on the MELabs site. Can you tell me where to download without having to get the whole 98 MB MPLAB IDE?

Best Regards,
Paul

ScaleRobotics
- 10th September 2010, 06:02
Can you tell me where to download without having to get the whole 98 MB MPLAB IDE?


Sorry Paul, if there is one I don't know about it.

Acetronics2
- 10th September 2010, 09:35
My MPASM is 5.20, the files distributed on the MELabs site. Can you tell me where to download without having to get the whole 98 MB MPLAB IDE?

Best Regards,
Paul

Honestly ...
The MPASM section itself is 62 Mo on the HDD ...

AND No separate Download from µChip site ...

Time for your PC to grow a bit, don't you think ??? ;)

Alain

mackrackit
- 10th September 2010, 12:17
Hello Dave,

I certainly have no objections to sharing the code for this but I haven't a clue about how to explicitly "open source" a project. I'm open to suggestions.

I'm writing the application in Delphi v4, mostly because I've been writing in various flavors of C/C++ for the past several months and I wanted (needed!) a change...8^)

Best Regards,
Paul
Not sure how the big open projects work...
I guess to do it right a license needs to be decided on, GNU?
Other than that jut make the code available someplace for folks to play with. If someone adds a function/fix then they let you know. You then work their code into a version if possible then release the updated version.
If you do not want to incorporate code from others just make yours available someplace.

If we can find others using Delphi or Python that want to help with this we could give out parts that need worked on. The "J" chip problem comes to mind.

cncmachineguy
- 10th September 2010, 14:25
It is so much fun to see such intrest in this. And to think, I started it. Its about time I had a useful idea - lol.

I am working on working on learning python so I can help somehow. Don't know if I will be up to speed in time for first rev's, but at least I may be able to help maintain it.

As for the 18xxJxx problem, my first question is how would we go about programing it without the wizard? When we know the answer to that, the wizard will just do the writing for us. I do like the idea of having the wizard "fix" the .inc file for us. That really seems like the most seemless solution. But that may be another chunk of code.

@Dave and Paul, are your programs looking at the dir to find all the available *.inc files? So updates will just automaticlly be added?

@Dave, If I am reading your code right, did you have to hard code all the cases for the config options?

mackrackit
- 10th September 2010, 15:10
@Dave and Paul, are your programs looking at the dir to find all the available *.inc files? So updates will just automaticlly be added?
Mine is. The dir is copied to the server.

@Dave, If I am reading your code right, did you have to hard code all the cases for the config options?
Nope.

file = open("%s" % subject,"r")
text = file.readlines()
file.close()

for line in text:
m = re.match(r"_", line) # Looks for everything starting with "_"
if m: print line, "<br>"
So because of the "J" chips a second pass will be needed.

cncmachineguy
- 10th September 2010, 18:40
So because of the "J" chips a second pass will be needed.

Maybe better to trigger off the "J" and have seperate routines? Or is the differance not that clear in the parts?

mackrackit
- 10th September 2010, 19:09
Separate routines might be best.
Split it up between
16F
18F
18F__J

Unless I am forgetting something that should be the three basic configs.

prstein
- 10th September 2010, 20:35
Sorry Paul, if there is one I don't know about it.

Downloaded and installed the latest MPASM stuff I could find--it's v5.31. Anyway, that took care of that issue!

Thanks for the terrific advice! Now back to coding...(after replying to some more posts...)

Best Regards,
Paul

prstein
- 10th September 2010, 20:38
Honestly ...
The MPASM section itself is 62 Mo on the HDD ...

AND No separate Download from µChip site ...

Time for your PC to grow a bit, don't you think ??? ;)

Alain


Thank You, Alain.

I have bitten the bullet and downloaded. Once I started installing I was able to direct it to *not* install anything but MPASM for the 8-bit microcontrollers.

And, since this is the first time I think we've ever communicated directly, I think your avatar is one of the most amusing that I've ever seen.

Best Regards,
Paul

cncmachineguy
- 10th September 2010, 20:47
A very small start.
http://wiz.mackrackit.cambs.net/
I will post a project log and any code used at the above address if anyone want to work on it.
If you have suggestion or code lets play. I will work on it as time permits.

more from the novice:
Followed the link, played with the button. Not sure how to access the .py scripts. If I right click and choose view source, all I see is the html source for the page. What am I missing?

prstein
- 10th September 2010, 20:48
Not sure how the big open projects work...
I guess to do it right a license needs to be decided on, GNU?
Other than that jut make the code available someplace for folks to play with. If someone adds a function/fix then they let you know. You then work their code into a version if possible then release the updated version.
If you do not want to incorporate code from others just make yours available someplace.

If we can find others using Delphi or Python that want to help with this we could give out parts that need worked on. The "J" chip problem comes to mind.

Very good, Dave.

As soon as I have the code actually doing something beyond parsing the files (shouldn't be more than a few days) I'll set up two files on a server, one of just the executable and the another including all the source. I'll administer the overall "broad release" version and incorporate any improvements/fixes created by others.

Best Regards,
Paul

prstein
- 10th September 2010, 20:55
It is so much fun to see such intrest in this. And to think, I started it. Its about time I had a useful idea - lol.

With great power comes great responsibility! Hope you hang in long enough to put it through thorough testing...


As for the 18xxJxx problem, my first question is how would we go about programing it without the wizard? When we know the answer to that, the wizard will just do the writing for us. I do like the idea of having the wizard "fix" the .inc file for us. That really seems like the most seemless solution. But that may be another chunk of code.

I think that has now been resolved. Thanks, scalerobotics!


@Dave and Paul, are your programs looking at the dir to find all the available *.inc files? So updates will just automaticlly be added?

Yes, that it exactly.

For fun I've attached a screenshot of the application's current status...

Best Regards,
Paul

cncmachineguy
- 10th September 2010, 21:07
With great power comes great responsibility! Hope you hang in long enough to put it through thorough testing...


I'm here for a good while. I've been coding with just assy for about 10 years as a hobby, nothing big. Finally took the plunge to do things a bit easier and buy PBP. Enrolled in a python class starts on 9/15. Decided not to go the self taught route on this one. Too many times I start to learn a new language and quit cuz something doesn't make sense to me.

As for the "thorough" testing, I will put it through all I can.

Thanks for jumping on board. Looks like a nice start you have!

mackrackit
- 10th September 2010, 21:33
more from the novice:
Followed the link, played with the button. Not sure how to access the .py scripts. If I right click and choose view source, all I see is the html source for the page. What am I missing?
Well... That is all there is at the moment :o

The .py that the HTML button page triggers is in red on the first page. The HTML with the button sends info to the .py then the .py produces a web page with the results.

The HTML part that gets it going
form action="/cgi-bin/ChipDrop.py" method="post" target="_blank">
select name="ChipSel">
--SNIP--
Then the Python code picks it up here
# Get data from fields
if form.getvalue('ChipSel'):
subject = form.getvalue('ChipSel')
else:
subject = "Not entered"

So all I have is the HTML and one py script to display the config options.
BTW.
I used this to help generate the HTML. No way I typed all of that..

#!/usr/bin/python
import os
import re
import string
path="fileS" # insert the path to the directory of interest
dirList=os.listdir(path)
for fname in dirList:
str = fname
tx = str.strip('.INC');
sep = ''
list = ['<option value="fileS/',str,'">',tx,'</option>']
print sep.join(list)

mackrackit
- 10th September 2010, 21:38
Enrolled in a python class starts on 9/15.
COOL!!!!
Now when I get stuck I know who to ask :)

Never took a class myself :eek: And it probably shows...

Darrel Taylor
- 11th September 2010, 01:15
Hi guys,

I like the enthusiasm, and it’s a great idea … but …
You may not want to spend too much time on this project.

I can’t say from whom or where right now, but there is already a functioning Configurator that will be available fairly soon.
It covers all the chips, and all the configs, with drop-down boxes and descriptions for each option.

It creates a file that can be INCLUDEd in the code, and each project can have its own config file, instead of the normal default configs in the .inc files.
Or like all INCLUDEs, it can be pasted into the main code itself.
The defaults still have to be commented out, but that may be fixed soon too … maybe.

Sorry for the late notification, but I've been moving out of state and haven't been on-line for a few weeks.

Cheers.

ScaleRobotics
- 11th September 2010, 02:46
I like the enthusiasm, and it’s a great idea … but …
You may not want to spend too much time on this project.

There you go, bursting our bubble, spoiling our fun. (And I use "our" very loosely)

I was looking forward to the open source aspect. Just to have the possibility of adding some bells and whistles would be great. There is a lot that this application could do. Some "PicMultiCalc like" functions could be added ... all digital includes, all sorts of possibilities.

mackrackit
- 11th September 2010, 04:52
Leave it to Darrel to be a couple steps ahead of us.
Time wise I probably would not get much done before Darrel's (??) program comes out. So I will wait some.
Who know, maybe it will be open for tweaks. Or not have everything we have talked about. If not then.... We fill the gaps.

What else could we do like this? I like the idea of an open community project.

cncmachineguy
- 11th September 2010, 06:00
Thanks Darrel!?!?!? -lol really that is good news. I don't know if I understand from the breif description if it does all we want, missing seems to be initial I/O pin setup. But alas, we will have to wait and see.

As for the community project, that was my 1 big idea. But I am open to any others. another big question for me will be to pay or not to pay, that is the question. Darrel clearly provides us with GREAT code to use as we see fit. So if he IS going to be the author, I would feel compelled to pay some amt for it. Now if he just has a heads up on an update from the PBP folks, well I just bought mine, I would hate to have to give it up for an update this soon.

Guess we wait. In the meantime, I still get to learn python;), and that by itself is awesome for me. I may still persue daves efforts as a realtime puzzle to practice with.

mackrackit
- 11th September 2010, 12:30
Here is another one to practice with
http://www.picbasic.co.uk/forum/showthread.php?t=10381
It has some problems the way it is written. Pointed out in the thread. I just never got around to fixing it.

It would be a good stand alone program, command line or GUI, to practice with.

malc-c
- 11th September 2010, 14:54
Here is another one to practice with
http://www.picbasic.co.uk/forum/showthread.php?t=10381
It has some problems the way it is written. Pointed out in the thread. I just never got around to fixing it.

It would be a good stand alone program, command line or GUI, to practice with.


Nice - just tested it with the latest version of my thermostat project -

http://www.picbasic.co.uk/forum/attachment.php?attachmentid=4779&d=1284209612

Very useful app - thanks Dave

Ioannis
- 11th September 2010, 15:57
I can’t say from whom or where right now, but there is already a functioning Configurator that will be available fairly soon.

The usual suspect is the "who" I suppose.

Well, when he is involved, job gets done!

Anxious....

Ioannis

Darrel Taylor
- 11th September 2010, 16:13
Maybe i should have said not to spend time on the CONFIG part, which is what it does, and what I saw you working on so far.

I don't want to stop all the other stuff you could be working on, because that will be very valuable too.

I did ask permission before revealing the configurator (because it's not from me), I just hated to see the time being spent here. But if that time were redirected towards setting up all those crazy internal registers, I'm sure it would be extremely usefull and appreciated by everyone.

mackrackit
- 11th September 2010, 16:25
Well it looks like we are back to work..

Everything but the configs....

Thanks for the heads up Darrel.

cncmachineguy
- 11th September 2010, 16:57
I'm not sure we want to exclude the configs, may still be a good starting point. Plus the more intergrated the better. But hey, I'm on board with however we proced. I'm glad we are turned back on.

cncmachineguy
- 11th September 2010, 17:02
Does anyone know, does MicroCode Studio support third party apps?

mackrackit
- 11th September 2010, 17:18
MicroCode Studio :eek:
Why??

ScaleRobotics
- 11th September 2010, 17:24
MicroCode Studio :eek:
Why??

Because most people like it a whole lot more than a text editor. :)

Darrel Taylor
- 11th September 2010, 17:39
No, MicroCode Studio does NOT have Plug-in's.

It was converted into the Proton IDE and Plug-in's were added there, but they were never added to MCS.

cncmachineguy
- 11th September 2010, 17:56
MicroCode Studio :eek:
Why??

I thought that was the "standard" for writing PBP code in. Besides a text editor, how else?

mackrackit
- 11th September 2010, 18:01
MPLAB
Emacs
gEdit
Norm's Fine Line IDE

cncmachineguy
- 11th September 2010, 18:16
Ok, so I get it now. You guys already told me in my other thread to use mplab since I am used to it already. But I forgot. To be clear in my head, I just write the PBP code in mplab, and since I ran the install mplab plugin, mplab will know how to compile it. Do I have it correct now?

Assuming I am correct, since I install the mplab plugin, mplab allows plugins. I hope I am correct here, cuz to me that would mean we really want to evolve the wizard into a plugin for mplab.

Thoughts?

cncmachineguy
- 11th September 2010, 18:22
well it appears microchip does not want to make the plugin development by non commercial folks too easy. from a quick search, I gather there is some NDA to sign. this makes an open source project pretty un-doable.

mackrackit
- 11th September 2010, 18:42
The thing about plugins is every time the thing it is plugged into gets an update the plugin most often needs and update too.

That does not sound like fun too me.

cncmachineguy
- 11th September 2010, 18:50
You are right Dave, the plugin becomes unplugged! So we are full circle back to the good stuff now, the business of header wizard. :D

Thanks for clearing up my confusion about the code you have done so far. I won't bite off the html stuff for now, so thats on you guys. but I am very excited to get started on the python. Last time I had a formal programming class was college. lets say 20 years ago.

And yes, I hope to be able to ANSWER some questions soon, instead of always being the asker.

Ioannis
- 11th September 2010, 19:06
About MPLAB 'd like to post my experience regarding the use of ICD3.

If you are using the above as a programmer then the best MPLAB version so far is the 8.15a and you can download it from Melabs site.

Newer version have serious timout problems and lose connection with the ICD3 producing the ICD3Err0033 error. I was almost ready to return it form repair until I download the old version and have no problem at all. And the assembler is very-very fast also!

Too pity that many people have the same problem (according to Microchips forums) but the company does not seem to do anything about it.

Ioannis

P.S. When installing a newer version you have manually to remove the older one. Look at Add/Remove programs fro XP or Program and Features for Vista.

cncmachineguy
- 11th September 2010, 21:07
That's so sad for me (mplab version). I had to upgrade to icd3 because my icd2 was an older one with no support for win7. Had to upgrade mplab to 8.53 to get support for my device (16F1947). So it sounds like the best option may be 8.53 with icd2 on an xp machine. :(

Ioannis
- 11th September 2010, 21:44
16F1946 is supported by 8.15a but not the 16F1947... :(

Do you have any problems with the ICD3/MPLAB 8.5x/Win 7 ?

Ioannis

cncmachineguy
- 12th September 2010, 14:23
Do you have any problems with the ICD3/MPLAB 8.5x/Win 7 ?

Ioannis

To be honest, I haven't tried that combo yet. ICD3 is at work, where I only have XP. I will bring it home tomorrow and try it on my laptop with win7. I don't have a current built project to test it with, but I can use the test module that came with it,

Ioannis
- 13th September 2010, 08:24
OK. Looking forward...

Ioannis

prstein
- 13th September 2010, 19:19
Hello All,

I was hoping to have an demo exe ready to post today, but the development had to take a major turn this past Friday...

I removed all the fuse configuration parsing and settings. For want of a better first task I tried adding the setup of the pin input/output states and levels. The relevant MAPSM .inc file is parsed to determine what ports exist and which individual bits are available for those ports (and of course GPIO for the little chips). Each port gets it's own tab. Bits that don't exist for a given port are not shown on the individual tab. (Did that make *any* sense?). The configuration files can be saved and re-loaded.

However, when taking the last look before posting I noticed two bugs that I won't have a chance to fix until tonight or tomorrow. One is that the text doesn't update properly when using certain chips until you actually click on a tab. The other is that when the text is generated in the form "TRISA = %10101010" I have inadvertently reversed the order of the bits. (When all bits in a port are not used it instead puts in an individual line for each bit, e.g. "TRISA.1 = %0".) I'm sure additional bugs will appear...

Anyway I just wanted to put out that I was still trying to (finally!) maybe do something useful for this community. Suggestions for additional features to add would be most welcome. A screenshot is attached.

Best Regards,
Paul

mackrackit
- 13th September 2010, 19:30
That looks nice!!!
Next ADC?
I was planning to start there but my weekend did not go as planned so I have nothing to show.

cncmachineguy
- 13th September 2010, 19:56
Paul, its great! I assume if ADC or any other special function options are chosen, the corasponding pin will not be available for I/O configuration?

Dave, no worries. I might start pushing on you anyway when I start to learn something.:rolleyes:

Question for the masses, Do you think we should still include the config bits? I feel like it would still be good to have, plus its all wrapped up in 1 spot. And sometime down the road, we may want it to make some simple error checking like : configed for 4mHz internal osc, but wanting to rum 115KB serial, or something like that.

Acetronics2
- 13th September 2010, 20:40
Hello All,

A screenshot is attached.

Best Regards,
Paul

Hi, Paul

Nice one !!! I take it all ... ;)

Alain

PS: Place PORTA = xxxx .... BEFORE TRISA = xxx ... to prevent any port toggling .

prstein
- 13th September 2010, 22:02
That looks nice!!!
Next ADC?

Thanks Dave! ADC setup sounds like a good next step.

Best Regards,
Paul

mackrackit
- 13th September 2010, 22:07
Question for the masses, Do you think we should still include the config bits? I feel like it would still be good to have, plus its all wrapped up in 1 spot. And sometime down the road, we may want it to make some simple error checking like : configed for 4mHz internal osc, but wanting to rum 115KB serial, or something like that.
At minimum the Wizard will need to know the OSC speeds. But we may not have to worry about all of the configs.

prstein
- 13th September 2010, 22:12
Paul, its great! I assume if ADC or any other special function options are chosen, the corasponding pin will not be available for I/O configuration?

Not sure how that will specifically be worked out. The app should make it so that the header will work that way. I think (but need to check) that if you set a particular TRIS direction it will be superseded by a subsequent ADC setup. But I could have this completely wrong...


Question for the masses, Do you think we should still include the config bits? I feel like it would still be good to have, plus its all wrapped up in 1 spot. And sometime down the road, we may want it to make some simple error checking like : configed for 4mHz internal osc, but wanting to rum 115KB serial, or something like that.

I've removed the fuse bits parsing but I haven't thrown it away. I currently plan to see what the new mystery application will do, first. It could just 100% outclass anything I can do.

I do think it will be possible to do some sort of "reality check" on the selected configuration to catch circumstances such as that you mention. I would probably put a remmed warning or suggestion into the header text.

Thanks for the comments!

Best Regards,
Paul

prstein
- 13th September 2010, 22:14
Nice one !!! I take it all ... ;)

PS: Place PORTA = xxxx .... BEFORE TRISA = xxx ... to prevent any port toggling .

Hello Alain,

Thank you! And I appreciate the reminder about PORTx before TRISx. It seems I usually default to alphabetical...

Best Regards,
Paul

prstein
- 14th September 2010, 03:48
Attached is the first Alpha version of my attempt at a PBP Header wizard. Please try it out if you are interested and/or have been following this thread. However, expect bugs.

I'm happy to provide the source code (in Delphi, version 4) on request but unless you really want to dig in I suggest waiting until it is a little more stable and structured.

Any comments, suggestion, requests, and bug reports are welcome.

Best Regards,
Paul

cncmachineguy
- 14th September 2010, 05:54
1st praise - excellent so far
2nd requests
- instead of just giving me an error when mpasm cant be found, can it bring up a file dialog to find it?
- can we have a browse button to get the path to mpasm?
- after setting the path, reload to populate. (now it requires exit and restart)
- request or bug, depends on you. can't type a part number in direct. error right away. (file not found)

3rd bugs
- so far all I see is tris sets the port, and initial state sets tris. port g on 16f1947 tris and portl are correct. only 5 pins for G, maybe thats it?
- tried it with a 16f676, device has 12 I/O a0..5 and c0..5 wizard configures for 8 and 8. gets the names correct.
- initially on startup, "select device" text is not there. if I max the window, its there.


Overall awesome! Looking forward to more!

mackrackit
- 14th September 2010, 09:10
PROBLEM...

I thought the MPASM *.inc file had all of the info we needed for this but now it looks like I am wrong.

I can not find where the ports are defined.
Where does it tell that the 16F676 only has six pins on a port?

Evidently the data sheet is the only place to find the info.
HIGH PORTC.7
compiles just fine for a 16F676.

cncmachineguy
- 14th September 2010, 11:31
Maybe it's not so much a problem as a limitation. If the info is not available in the .inc, that's just one of the things the programmer will still have to rtfd for. The only other choice would be to build in an editor and custom make a new .inc so to speak.

Ioannis
- 14th September 2010, 14:09
Hi Paul.

I likd the idea of the Initial state.

Great job!

Is this in VB?
Ioannis

ScaleRobotics
- 14th September 2010, 14:46
Peter, Great Job! Very nice. Thanks for putting it together!


PROBLEM...

I thought the MPASM *.inc file had all of the info we needed for this but now it looks like I am wrong.


Me too!

It looks like this information is stored in mplab ide. Its a little harder to read though.

It is located here: C:\Program Files\Microchip\MPLAB IDE\Device

In my search, I came across a video presentation of Microchips Visual Device Initiator. Sad to say, I am drooling at the 2004 technology. Fast forward to about 11 minutes in or so. It is kind of like a config wizard, and PicMultiCalc all in one. http://techtrain.microchip.com/media/websem/VDI_082604.wmv (http://techtrain.microchip.com/media/websem/VDI_082604.wmv) or check out http://www.scalerobotics.com/VDI Tutorial.pdf (http://www.scalerobotics.com/VDI%20Tutorial.pdf)



################################################## ####################
#
# MPLAB IDE .dev File Generated by `pic2dev.py'
#
# Device: PIC16F676
# Family: 16xxxx
# Datasheet: 40039
# Date: Mon Apr 5 06:55:05 2010
#
################################################## ####################


################################################## ####################
#
# Memory Regions & Other General Device Information
#
################################################## ####################

vpp (range=12.750-13.250 dflt=13.000)
vdd (range=2.500-5.500 dfltrange=3.000-5.500 nominal=5.000)
pgming (memtech=ee tries=1 lvpthresh=4.500)
wait (pgm=2000 eedata=6000 cfg=2500 userid=2500 erase=6000 lvpgm=2500)
latches (pgm=1 eedata=1 cfg=1 userid=1)
EraseAlg=4
UndefCfgBits=0
breakpoints (numhwbp=1 datacapture=false idbyte=x)
calmem (region=0x3ff-0x3ff)
userid (region=0x2000-0x2003)
testmem (region=0x2000-0x20ff)
devid (region=0x2006-0x2006 idmask=0x3fe0 id=0x10e0)
cfgmem (region=0x2007-0x2007)
eedata (region=0x0-0x7f)
bkbgvectmem (region=0x2004-0x2004)
pgmmem (region=0x0-0x3ff)
NumBanks=2
MirrorRegs (0xa-0xb 0x8a-0x8b)
MirrorRegs (0x2-0x4 0x82-0x84)
MirrorRegs (0x0-0x0 0x80-0x80)
MirrorRegs (0x20-0x5f 0xa0-0xdf)
UnusedRegs (0x60-0x7f)
UnusedRegs (0xe0-0xff)

################################################## ####################
#
# Special Function Registers
#
################################################## ####################

sfr (key=INDF addr=0x0 size=1 flags=i access='u u u u u u u u')
reset (por='--------' mclr='--------')
bit (names='INDF' width='8')
sfr (key=TMR0 addr=0x1 size=1 access='rw rw rw rw rw rw rw rw')
reset (por='xxxxxxxx' mclr='uuuuuuuu')
bit (names='TMR0' width='8')
stimulus (scl=rwb pcfiles=w regfiles=w type=int)
sfr (key=PCL addr=0x2 size=1 access='rw rw rw rw rw rw rw rw')
reset (por='00000000' mclr='00000000')
bit (names='PCL' width='8')
stimulus (scl=rwb pcfiles=rw regfiles=w)
sfr (key=STATUS addr=0x3 size=1 access='r r rw r r rw rw rw')
reset (por='00011xxx' mclr='000qquuu')
bit (names='IRP RP nTO nPD Z DC C' width='1 2 1 1 1 1 1')
sfr (key=FSR addr=0x4 size=1 access='rw rw rw rw rw rw rw rw')
reset (por='xxxxxxxx' mclr='uuuuuuuu')
bit (names='FSR' width='8')
stimulus (scl=rwb pcfiles=rw regfiles=w type=int)
sfr (key=PORTA addr=0x5 size=1 access='u u rw rw rw rw rw rw')
reset (por='--xxxxxx' mclr='--uuuuuu')
bit (names='- - RA5 RA4 RA3 RA2 RA1 RA0' width='1 1 1 1 1 1 1 1')
bit (tag=scl names='RA' width='8')
stimulus (scl=rwb pcfiles=rw regfiles=rw)
UnusedRegs (0x6-0x6)
sfr (key=PORTC addr=0x7 size=1 access='u u rw rw rw rw rw rw')
reset (por='--xxxxxx' mclr='--uuuuuu')
bit (names='- - RC5 RC4 RC3 RC2 RC1 RC0' width='1 1 1 1 1 1 1 1')
bit (tag=scl names='RC' width='8')
stimulus (scl=rwb pcfiles=rw regfiles=rw)
UnusedRegs (0x8-0x9)
sfr (key=PCLATH addr=0xa size=1 access='u u u rw rw rw rw rw')
reset (por='---00000' mclr='---00000')
bit (names='- - - PCLATH' width='1 1 1 5')
stimulus (scl=rwb pcfiles=rw regfiles=w type=int)
sfr (key=INTCON addr=0xb size=1 access='rw rw rw rw rw rw rw rw')
reset (por='00000000' mclr='0000000u')
bit (names='GIE PEIE TMR0IE INTE RAIE TMR0IF INTF RAIF' width='1 1 1 1 1 1 1 1')
stimulus (scl=rwb pcfiles=rw regfiles=w)
sfr (key=PIR1 addr=0xc size=1 access='rw rw u u rw u u rw')
reset (por='00--0--0' mclr='00--0--0')
bit (names='EEIF ADIF - - CMIF - - TMR1IF' width='1 1 1 1 1 1 1 1')
stimulus (scl=rwb pcfiles=rw regfiles=w)
UnusedRegs (0xd-0xd)
sfr (key=TMR1 addr=0xe size=2 flags=j)
bit (names='TMR1' width='16')
stimulus (scl=rwb regfiles=w type=int)
sfr (key=TMR1L addr=0xe size=1 access='rw rw rw rw rw rw rw rw')
reset (por='xxxxxxxx' mclr='uuuuuuuu')
bit (names='TMR1L' width='8')
stimulus (scl=rwb pcfiles=w regfiles=w type=int)
sfr (key=TMR1H addr=0xf size=1 access='rw rw rw rw rw rw rw rw')
reset (por='xxxxxxxx' mclr='uuuuuuuu')
bit (names='TMR1H' width='8')
stimulus (scl=rwb pcfiles=w regfiles=w type=int)
sfr (key=T1CON addr=0x10 size=1 access='u rw rw rw rw rw rw rw')
reset (por='-0000000' mclr='-uuuuuuu')
bit (names='- TMR1GE T1CKPS T1OSCEN nT1SYNC TMR1CS TMR1ON' width='1 1 2 1 1 1 1')
stimulus (scl=rwb regfiles=w)
UnusedRegs (0x11-0x18)
sfr (key=CMCON addr=0x19 size=1 access='u r u rw rw rw rw rw')
reset (por='-0-00000' mclr='-0-00000')
bit (names='- COUT - CINV CIS CM' width='1 1 1 1 1 3')
stimulus (scl=rwb regfiles=w)
UnusedRegs (0x1a-0x1d)
sfr (key=ADRESH addr=0x1e size=1 access='rw rw rw rw rw rw rw rw')
reset (por='xxxxxxxx' mclr='uuuuuuuu')
bit (names='ADRESH' width='8')
stimulus (scl=rwb type=int)
sfr (key=ADCON0 addr=0x1f size=1 access='rw rw u rw rw rw rw rw')
reset (por='00-00000' mclr='00-00000')
bit (names='ADFM VCFG - CHS GO/nDONE ADON' width='1 1 1 3 1 1')
bit (tag=scl names='ADFM VCFG - CHS GO_nDONE ADON' width='1 1 1 3 1 1')
stimulus (scl=rwb regfiles=w)
sfr (key=OPTION_REG addr=0x81 size=1 access='rw rw rw rw rw rw rw rw')
reset (por='11111111' mclr='11111111')
bit (names='nRAPU INTEDG T0CS T0SE PSA PS' width='1 1 1 1 1 3')
stimulus (scl=rwb regfiles=w)
sfr (key=TRISA addr=0x85 size=1 access='u u rw rw r rw rw rw')
reset (por='--111111' mclr='--111111')
bit (names='- - TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0' width='1 1 1 1 1 1 1 1')
bit (tag=scl names='TRISA' width='8')
stimulus (scl=rwb regfiles=w)
UnusedRegs (0x86-0x86)
sfr (key=TRISC addr=0x87 size=1 access='u u rw rw rw rw rw rw')
reset (por='--111111' mclr='--111111')
bit (names='- - TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0' width='1 1 1 1 1 1 1 1')
bit (tag=scl names='TRISC' width='8')
stimulus (scl=rwb regfiles=w)
UnusedRegs (0x88-0x89)
sfr (key=PIE1 addr=0x8c size=1 access='rw rw u u rw u u rw')
reset (por='00--0--0' mclr='00--0--0')
bit (names='EEIE ADIE - - CMIE - - TMR1IE' width='1 1 1 1 1 1 1 1')
stimulus (scl=rwb pcfiles=rw regfiles=w)
UnusedRegs (0x8d-0x8d)
sfr (key=PCON addr=0x8e size=1 access='u u u u u u rw rw')
reset (por='------0x' mclr='------uu')
bit (names='- - - - - - nPOR nBOR' width='1 1 1 1 1 1 1 1')
stimulus (scl=rwb regfiles=w)
UnusedRegs (0x8f-0x8f)
sfr (key=OSCCAL addr=0x90 size=1 access='rw rw rw rw rw rw u u')
reset (por='100000--' mclr='100000--')
bit (names='CAL - -' width='6 1 1')
stimulus (scl=rwb regfiles=w)
sfr (key=ANSEL addr=0x91 size=1 access='rw rw rw rw rw rw rw rw')
reset (por='11111111' mclr='11111111')
bit (names='ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0' width='1 1 1 1 1 1 1 1')
stimulus (scl=rwb regfiles=r)
UnusedRegs (0x92-0x94)
sfr (key=WPUA addr=0x95 size=1 access='u u rw rw u rw rw rw')
reset (por='--11-111' mclr='--11-111')
bit (names='- - WPUA5 WPUA4 - WPUA2 WPUA1 WPUA0' width='1 1 1 1 1 1 1 1')
stimulus (scl=rwb regfiles=w)
sfr (key=IOCA addr=0x96 size=1 access='u u rw rw rw rw rw rw')
reset (por='--000000' mclr='--000000')
bit (names='- - IOCA5 IOCA4 IOCA3 IOCA2 IOCA1 IOCA0' width='1 1 1 1 1 1 1 1')
stimulus (scl=rwb regfiles=w)
UnusedRegs (0x97-0x98)
sfr (key=VRCON addr=0x99 size=1 access='rw u rw u rw rw rw rw')
reset (por='0-0-0000' mclr='0-0-0000')
bit (names='VREN - VRR - VR' width='1 1 1 1 4')
stimulus (scl=rwb regfiles=w)
sfr (key=EEDAT addr=0x9a size=1 access='rw rw rw rw rw rw rw rw')
reset (por='00000000' mclr='00000000')
bit (names='EEDAT' width='8')
stimulus (scl=rwb pcfiles=rw regfiles=rw)
sfr (key=EEADR addr=0x9b size=1 access='u rw rw rw rw rw rw rw')
reset (por='-0000000' mclr='-0000000')
bit (names='- EEADR' width='1 7')
stimulus (scl=rwb pcfiles=rw regfiles=w)
sfr (key=EECON1 addr=0x9c size=1 access='u u u u rw rw rs rs')
reset (por='----x000' mclr='----q000')
bit (names='- - - - WRERR WREN WR RD' width='1 1 1 1 1 1 1 1')
stimulus (scl=rwb pcfiles=rw regfiles=w)
sfr (key=EECON2 addr=0x9d size=1 access='w w w w w w w w')
reset (por='--------' mclr='--------')
bit (names='EECON2' width='8')
sfr (key=ADRESL addr=0x9e size=1 access='rw rw rw rw rw rw rw rw')
reset (por='xxxxxxxx' mclr='uuuuuuuu')
bit (names='ADRESL' width='8')
stimulus (scl=rwb regfiles=r type=int)
sfr (key=ADCON1 addr=0x9f size=1 access='u rw rw rw u u u u')
reset (por='-000----' mclr='-000----')
bit (names='- ADCS - - - -' width='1 3 1 1 1 1')
stimulus (scl=rwb regfiles=w)

################################################## ####################
#
# Configuration Registers
#
################################################## ####################

cfgbits (key=CONFIG addr=0x2007 unused=0xe00)
illegal (mask=0x48 value=0x48 msg="Current settings of PWRT and BOD are in conflict")
field (key=OSC mask=0x7 desc="Oscillator")
setting (req=0x7 value=0x7 desc="External RC Clockout")
setting (req=0x7 value=0x6 desc="External RC No Clock")
setting (req=0x7 value=0x5 desc="Internal RC Clockout")
setting (req=0x7 value=0x4 desc="Internal RC No Clock")
setting (req=0x7 value=0x3 desc="EC")
setting (req=0x7 value=0x2 desc="HS")
setting (req=0x7 value=0x1 desc="XT")
setting (req=0x7 value=0x0 desc="LP")
field (key=WDT mask=0x8 desc="Watchdog Timer")
setting (req=0x8 value=0x8 desc="On")
setting (req=0x8 value=0x0 desc="Off")
field (key=PUT mask=0x10 desc="Power Up Timer")
setting (req=0x10 value=0x10 desc="Off")
setting (req=0x10 value=0x0 desc="On")
field (key=MCLRE mask=0x20 desc="Master Clear Enable")
setting (req=0x20 value=0x20 desc="External")
setting (req=0x20 value=0x0 desc="Internal")
field (key=BODEN mask=0x40 desc="Brown Out Detect")
setting (req=0x40 value=0x40 desc="On")
setting (req=0x40 value=0x0 desc="Off")
field (key=CP mask=0x80 desc="Code Protect")
setting (req=0x80 value=0x80 desc="Off")
checksum (type=0x0 protregion=0x0-0x0)
setting (req=0x80 value=0x0 desc="On")
checksum (type=0x20 protregion=0x0-0x3fe)
field (key=CPD mask=0x100 desc="Data EE Read Protect")
setting (req=0x100 value=0x100 desc="Off")
setting (req=0x100 value=0x0 desc="On")
field (key=BG mask=0x3000 desc="Bandgap Calibration Bits" flags=xh)
setting (req=0x3000 value=0x3000 desc="Adjust Bandgap Voltage (-100mV)")
setting (req=0x3000 value=0x1000 desc="Target Bandgap Voltage (2.1V)")
setting (req=0x3000 value=0x0 desc="Adjust Bandgap Voltage (100mv)")

prstein
- 14th September 2010, 15:10
PROBLEM...

I thought the MPASM *.inc file had all of the info we needed for this but now it looks like I am wrong.

I can not find where the ports are defined.
Where does it tell that the 16F676 only has six pins on a port?

Evidently the data sheet is the only place to find the info.
HIGH PORTC.7
compiles just fine for a 16F676.

Hi Dave,

It fooled me too. I've now been through ALL of the files (PBP, MPASM, and Proton) and see no way to glean the individual port bits that don't exist. So I've found the right spot in the code to toss in exceptions to the general rules. Now, if the part name is "16F676" or "16F630", it will show only PORTA and PORTC with bits 0-5 enabled. As additional problem children are identified I can keep adding the special handling for them there.

I'll have a new version posted sometime today.

With regard to the ADC settings, I remain woefully short in the imagination department. Could someone please post what items you would like to select for setting up the ADC, then show me an example of what the output should look like? That would be a big help...

Best Regards,
Paul

prstein
- 14th September 2010, 15:15
1st praise - excellent so far
2nd requests
- instead of just giving me an error when mpasm cant be found, can it bring up a file dialog to find it?
- can we have a browse button to get the path to mpasm?
- after setting the path, reload to populate. (now it requires exit and restart)
- request or bug, depends on you. can't type a part number in direct. error right away. (file not found)

3rd bugs
- so far all I see is tris sets the port, and initial state sets tris. port g on 16f1947 tris and portl are correct. only 5 pins for G, maybe thats it?
- tried it with a 16f676, device has 12 I/O a0..5 and c0..5 wizard configures for 8 and 8. gets the names correct.
- initially on startup, "select device" text is not there. if I max the window, its there.


Overall awesome! Looking forward to more!

Hello Bert,

Thanks much for the comments. I'm working on Items 2 and 3, hope to have the next rev sometime today.

Best Regards,
Paul

prstein
- 14th September 2010, 15:26
Hi Paul.

I likd the idea of the Initial state.

Great job!

Is this in VB?
Ioannis

Hello Ioannis,

Thank you very much! It is written in Delphi, an IDE for Visual Pascal. I'm using version 4, which is kind of old, but the IDE loads so much more quickly than the later releases. I know about a half dozen or so (programming) languages, several of those are different flavors of C/C++. I can stumble through a couple of others (C# and Java). I tell customers that I'll write in any language they pay me to. If it isn't specified and it's for Windows, I generally choose Delphi.

I better get off my soapbox before I blather on any further...8-)

Best Regards,
Paul

prstein
- 14th September 2010, 16:05
Thanks for the great info and the links! I think I'd prefer to keep the idea of using those files as plan B, as it takes away the simplicity by requiring files to be present that are not required by PBP.

An alternate Plan B would be to develop my/our own set of files with just the data the application needed. A lot of work on the front side but there could be benefits as well.

Best Regards,
Paul

cncmachineguy
- 14th September 2010, 16:16
Thanks for the great info and the links! I think I'd prefer to keep the idea of using those files as plan B, as it takes away the simplicity by requiring files to be present that are not required by PBP.

But if they are freely available, they could be distrubted with the program. Are the installed with mplab? if so it seems no different then requiring MPASM



An alternate Plan B would be to develop my/our own set of files with just the data the application needed. A lot of work on the front side but there could be benefits as well.


This goes back to the original database idea of Dave. Use a form to input information for each device as needed. If the db is community supported, it will be far easier to build the records.

Ioannis
- 14th September 2010, 16:41
But if they are freely available, they could be distrubted with the program. Are the installed with mplab? if so it seems no different then requiring MPASM



This goes back to the original database idea of Dave. Use a form to input information for each device as needed. If the db is community supported, it will be far easier to build the records.

Hmm, until Mama Microchip thinks there are rights on this and prohibits the free use of the files...

OK, may be I am pessimistic about it but if it involves community use of their original files, i'd be carefull...

Now it came to me, what is Lester doing on the matter of domain name?

Ioannis

ScaleRobotics
- 14th September 2010, 17:19
The *.dev files come with MpLab IDE. I believe the only way to get Mpasm is to download the Mplab IDE. So, everyone that selects Mpasm should have one version or another of Mplab Ide, and the associated files. There are also some other usefull (depending on how complex you want to go) info. This area has pin # information: C:\Program Files\Microchip\MPLAB IDE\VDI\XML\PIC16 . Images could be "mapped" to show labels for pins, etc. Images are here: C:\Program Files\Microchip\MPLAB IDE\VDI\Images

I guess it is both good and bad to have it dependent on Microchip. If they end support, then your work needs to be re-worked. However, the updates being dependent on what mpasm has to work with seems like a good idea. You immediately see if the mplab ide version you have does not support your chip, does not require programmer intervention to add chips. But of course there are many ways to do it, all with advantages, and disadvantages.

Walter

cncmachineguy
- 14th September 2010, 17:52
Back when I played with VDI, I thought I had found a goldmine for pic setup. I was sad to discover they didn't support 16f818 or 16f676. I then figured out it just didn't support smaller chips. It seemed it was developed to help with larger more powerful stuff.

That said, its nice to know there is still support stuff shipping with mplab. I would be concerned how long that will continue. Like when the install won't fit on a CD anymore, what will they chop to squeeze in on.

As for general support of MPLAB, I can't imagine they would stop that. After all, thats what allows new customers to try their product out, and allows the seasoned vets to continue. Not to mention, all the third party folks who depend on it.

Now if the *.dev files are only required for VDI, then maybe they will cease at some point. But my vote is, for now, we take full advantage of what they offer.:)

mackrackit
- 15th September 2010, 13:02
I use this when I do ASM on Linux.
http://piklab.sourceforge.net/index.php
I do not see where it uses the *.dev files but it does use the *.inc files. Maybe MicroChip does not care? As long as we give credit where do.

I suppose when MicroChip quits supporting the files and/or does not like what we are doing it will be time to move on to another chip.

mackrackit
- 15th September 2010, 13:06
MicrChips EULA, Part of. What do you all think it really means?


(a) Subject to all of the terms of this Agreement, Company grants Licensee a personal, worldwide, non-exclusive, non-sublicensable, non-transferable limited license to use and modify the Software solely for use with Company products (“Company Products”).

Licensee may not modify, create derivatives or reverse engineer (by disassembly, decompilation, translation, or otherwise) Software and may not copy or reproduce all or any portion of Software, except to the extent that such activity is specifically allowed by this Agreement or expressly permitted by applicable law notwithstanding the foregoing limitations.

cncmachineguy
- 15th September 2010, 13:53
MicrChips EULA, Part of. What do you all think it really means?

Well I'm no lawyer to be sure. I am certain of one thing, it is vague enough to mean whatever their lawyers imagination needs it to mean.

Having said that, I take the first line to mean we are not allowed to use MPLAB to program any other uP's. The vagueness comes into play where the software or any data files may also be considered "company products". But we ARE using it to program THEIR products. AND we are not offering it for sale.

I don't believe we are doing any of the second statement unless we package copies of the inc's, dev's, ... with our wizard. So this brings me to the question of the web based app, can we have it look at the data on our local drive? That way we don't have to upload the files to the server, thus not violating the aggrement.

I agree with the post way back about the license, we need one, if for nothing else but to state the microchip files may not be copied.

Personally I am a wait and see kind of guy. As such, I don't believe we are infringing on the license. This may be one of those areas where they don't care, but if we push them to make a decision, they will decide we can't use them to avoid any further problems. We are after all, creating something to promote the sale of more PIC's. This wizard will in no way have a negitave impact on them or their product.

Now I suppose if someone wanted to, the wizards could be modified to work for other brands, but at that point the microchip files will be of no use to them.

Just my $.02.

cncmachineguy
- 15th September 2010, 13:56
I suppose when MicroChip quits supporting the files and/or does not like what we are doing it will be time to move on to another chip.

AMEN! I couldn't agree more!

ScaleRobotics
- 15th September 2010, 15:10
I use this when I do ASM on Linux.
http://piklab.sourceforge.net/index.php
I do not see where it uses the *.dev files but it does use the *.inc files. Maybe MicroChip does not care? As long as we give credit where do.


Hey Dave,
How do you get mpasm (or do you) on to linux? Are you using WINE?
I do not see the .inc files included here: http://packages.debian.org/lenny/i386/piklab/filelist Just wondering if you have the device files on your linux machine.

I did a little searching, and I could not find PBP setup instructions for Linux. (I hear a new Wiki calling your name......)

Anyway, I assume (in Microsoft environments) the .dev files are used in the SIM part of the IDE. But it looks like it is also used for some programmers, as it contains program voltages etc. It might be used for other features inside the IDE as well. I can't really see Microchip dropping the sim feature, so I think the Device files are pretty safe. The more info we can feed the wizard, the more we could make it do.

prstein
- 15th September 2010, 16:31
Hi All,

Added a version history in the zip file. Changes additions this time include:
-Added special handling for 16F676 and 16F630 PORTs and TRISs.
-Added a directory list box for use in selecting MPASM folder.
-Re-loads PIC combo box after changing MPASM folder in Settings window.
-Responds better to inaccurate folder settings.

cncmachineguy, couldn't do much about typing in the combo box this time around.

I could really use some direction on implementing the ADC setup. An example or two would be exceedingly helpful...

Best Regards,
Paul

cncmachineguy
- 15th September 2010, 16:55
Paul,

I will play with this when I get home tonight, Actually have to WORK at work today:(.

As for the ADC part, I see it as this:

new tab or button to bring up that function. same as port state is now.
choose how many channels and which one(s). That will also drive whether I/O is avail for that pin
Choose Vref options.
Choose 8 or 10 bit and right or left justified.
Stuff I forgot
set registers to corespond to choices

prstein
- 15th September 2010, 17:27
I will play with this when I get home tonight, Actually have to WORK at work today:(.

I always get my best work done when I'm supposed to be doing something else.


As for the ADC part, I see it as this:

new tab or button to bring up that function. same as port state is now.
choose how many channels and which one(s). That will also drive whether I/O is avail for that pin
Choose Vref options.
Choose 8 or 10 bit and right or left justified.
Stuff I forgot
set registers to corespond to choices

Yeah, it's that next-to-the-last one that's tough to implement...see the attached screenshot.

Sorry, couldn't resist the joke...8^)

Best Regards,
Paul

cncmachineguy
- 15th September 2010, 17:31
Sorry, couldn't resist the joke...8^)

Best Regards,
Paul

ROTFLMAO!!!!!!!!! I love it. I vote leave it in, then see how many users scratch their head.

If you can get that to work, it will be a "true" wizard!!

cncmachineguy
- 15th September 2010, 17:35
Still laughing.

Ok, more serious thought. Maybe give an option to set a variable name for the results?

Guess I will have to pull up a data sheet to see what I forgot.

Ioannis
- 15th September 2010, 19:36
I am struggling with Interrupt on Change this afternoon and cannot figure whats wrong ...

Now this would be the ultimate wizard.

Prepare the settings for the DT-INTs too!

Ioannis

cncmachineguy
- 15th September 2010, 21:09
Prepare the settings for the DT-INTs too!

Ioannis

This would be a great addition, provided DT is good with it.

Darrel Taylor
- 15th September 2010, 22:06
Now this would be the ultimate wizard.
Prepare the settings for the DT-INTs too!


This would be a great addition, provided DT is good with it.

Absolutely, sounds like a great idea!
Go for it.

cncmachineguy
- 15th September 2010, 22:15
Absolutely, sounds like a great idea!
Go for it.

Great - Thanks Darrel!

@ Paul, this is direct from the 16f1947 datasheet:

When configuring and using the ADC the following
functions must be considered:
• Port configuration
• Channel selection
• ADC voltage reference selection
• ADC conversion clock source
• Interrupt control
• Result formatting


Maybe that helps to get the stuff I forgot? As an FYI there are 17 available channels for this device. Not counting the temp sense, DAC, and FVR. for a total of 20. (last 3 are internal)

Maybe also assign a variable to start conversion?

mackrackit
- 15th September 2010, 23:01
How do you get mpasm (or do you) on to linux? Are you using WINE?
WINE yes. See the site in my signature. I did not wiki it because I did not know if there would be much interest.

Paul,
Here is a sample or three for headers with ADC

'16F88 ADC TEST FORCHANNEL 0
DEFINE OSC 4
OSCCON = %01100000
@ __config _CONFIG1, _INTRC_IO & _WDT_OFF & _LVP_OFF & _MCLR_OFF &_CP_OFF
ANSEL = %00001111
TRISA = %11111111

'16F676 ADC ON PICKIT_1
DEFINE OSC 4
@ __config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_OFF & _CP_OFF
ANSEL = %00000001 'CHANNEL AN0
ADCON1 = %00010000 'FOSC/8
TRISA = %00000001
CMCON = %00000111

'18F4320 ADC_FTP iChip
@ __CONFIG _CONFIG1H, _HSPLL_OSC_1H
@ __CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_512_2H
@ __CONFIG _CONFIG4L, _LVP_OFF_4L
DEFINE OSC 16
INTCON.5 = 1
T0CON = %10000101
ON INTERRUPT GOTO TLOOP
ADCON1 = %00001110

Thanks Darrel!!!

prstein
- 15th September 2010, 23:24
Thank you Dave (and Bert). I might take tonight off however...

Darrel T: Can I include your "All Digital" as well?

No promises on the DT Instant Interrupts configurator. Guess I'm the last PBP guy who hasn't used it! I'll add it to the list.

Best Regards,
Paul

mackrackit
- 15th September 2010, 23:31
I might take tonight off however...
You can not... You are the only one working :D

Darrel Taylor
- 16th September 2010, 02:34
Darrel T: Can I include your "All Digital" as well?

There's really nothing to configure with AllDigital.pbp
It's either included or not.

I guess you could add a single checkbox.

Added: And maybe another checkbox for DEFINE SHOWDIGITAL 1

&nbsp;

cncmachineguy
- 16th September 2010, 02:58
Guess I'm the last PBP guy who hasn't used it!

Best Regards,
Paul

HAHA, don't feel like the lone ranger. All I've done is read all about them.

prstein
- 16th September 2010, 04:42
And maybe another checkbox for DEFINE SHOWDIGITAL 1&nbsp;

Hello Darrel,

That was similar to what I had in mind. With permission, I'd put a copy of ALLDIGITAL in the installation folder and when the "All Ports Digital" checkbox was checked it would add

include "[PBPHW Install directory]\alldigital.pbp"

Of course I could also just parse the stuff myself but that's extra work...8^)

Best Regards,
Paul

mackrackit
- 16th September 2010, 10:09
I will say having the include lines for "alldigital" and "instants" would be OK. But leave the actual files upto the user to get from Darrel's site. That way the Wizard will not have to worry about upgrades. Maybe have comments added to the header with the URL to Darrel's repository if they are used???

Ioannis
- 16th September 2010, 10:45
Or local file if there is not always available a network connection.

Ioannis

cncmachineguy
- 16th September 2010, 14:59
Paul v0.1 build 2 download seemed to be build 1. did IU mess up or is the wrong file posted?

cncmachineguy
- 16th September 2010, 15:30
Another question. Do we need the dependency on PBP files? I ask this because I don't know how many machines I am allowed to install PBP on (I assume 1). I use at least 2 daily, 1 at work and 1 at home. So I can't run your wizard at work cuz PBP is installed at home.

Now you may be asking yourself, Why do you need to create a header without PBP installed? Heres my reason, I often find time to work on stuff at work in small bits. So I may start a new project at work and tote it back and forth on a USB drive. Testing will be done at home, but I can still work on chunks of code at work. Make sense?

prstein
- 16th September 2010, 15:41
Paul v0.1 build 2 download seemed to be build 1. did IU mess up or is the wrong file posted?

I messed up. The correct file is below, and I'll try to institute better file control...

Best Regards,
Paul

mackrackit
- 16th September 2010, 15:47
Do we need the dependency on PBP files
No, we are working from Microchip files.

cncmachineguy
- 16th September 2010, 16:14
I messed up. The correct file is below, and I'll try to institute better file control...

Best Regards,
Paul

No worries. Can I lie to the wizard and just create a PBP dir or is it also looking for any file? If it is, can i lie to it about the file and just create a blank file named happywizard.whatever?

prstein
- 16th September 2010, 16:16
Another question. Do we need the dependency on PBP files?

Not at the moment. I'd like to do it all using just the standard MPASM inc files.


I ask this because I don't know how many machines I am allowed to install PBP on (I assume 1).

I assume 2. 8^) I never use them at the same time. I did explicitly purchase a 2nd copy of MCS as a tacit "thank you" for making a few special/oddball bootloader files for me.

FWIW I purchased the Proton compiler, 100% legitimately, a few years ago (I was lusting after the floating point). Almost immediately afterwards they instituted the dongle protection scheme. Other issues aside, I received a message that if I didn't upgrade (for more money) to the dongle system I would be listed as a "pirate" on their board. I've never used Proton again, embraced PBP with all my heart (sorry I strayed!), and learned the joy that is integer math.

Oh dear, I'm getting off on a tangent... MELabs license... Okay...

From the MELabs web site:


In consideration of Licensee's payment of the license fee, which is part of the price Licensee paid for this product, and Licensee's agreement to abide by the terms and conditions on this page, the Company grants Licensee a nonexclusive right to use and display the copy of the enclosed software on a single computer at a single location.


The way I understand this is that as long as *I* am the one using it on one computer at a time (which is all I do) I am in compliance. It's similar to uninstalling the software from my work computer at the end of the day and installing it at home in the evening. I really don't think this is even a gray area, but I am not a lawyer (thank goodness!). If someone official (e.g. from MELabs) told me my interpretation was wrong I would reconsider.

Yay tangents!

Best Regards,
Paul

prstein
- 16th September 2010, 16:20
No worries. Can I lie to the wizard and just create a PBP dir or is it also looking for any file? If it is, can i lie to it about the file and just create a blank file named happywizard.whatever?

I think so. You don't even need to point to a file, just a folder that exists. I just tried it pointing to "c:\" and it worked fine.

Best Regards,
Paul

cncmachineguy
- 16th September 2010, 16:36
bug report:

1. dir browser works great, doesn't cry about PBP dir unless you go through the settings.
2. If you change chips, settings from last chip persist.
3. tris and port are still output as port and tris. to be clear, when i change the tris setting, port is changed in the output.
4. This is the biggie, cant find the option to include what I forgot!

hopes:

can the tris and port output be combined when less then 8 pins are avail? ie:trisa=%xx00110011 instead of the current trisa.0= trisa.1= etc.

cncmachineguy
- 16th September 2010, 16:41
I will assume as you have regarding the use on 2 machines by just 1 person. ACAD used to be this way, 10 years ago. In fact they spelled it out as "Install on as many machines as you want, but ONLY 1 seat may be used at a time"

Yea PBP!!! BAD Proton

cncmachineguy
- 16th September 2010, 22:10
Of course I could also just parse the stuff myself but that's extra work...8^)
Best Regards,
Paul

Its my thinking, when the wizard is doing what we want it to do, the "all digital" will be tended to by default. If all the user wants is digital, the other stuff won't be turned on and the reg's will be set to use all dig. On the other hand, if the user checks all dig, but then configures the A/D, wizard will have to handle the error or the program won't work as expected. Of course, it could be set so if all dig is selected, all other options are grayed.

have I lost my mind? again?

prstein
- 17th September 2010, 15:00
bug report:
1. dir browser works great, doesn't cry about PBP dir unless you go through the settings.

Glad something worked right!


2. If you change chips, settings from last chip persist.

Well, they need to be set to something... What would you recommend?


3. tris and port are still output as port and tris. to be clear, when i change the tris setting, port is changed in the output.

You didn't like that part? Ok, I've found and fixed that bug.


4. This is the biggie, cant find the option to include what I forgot!

Ah, well...I don't want to push the joke too far...


can the tris and port output be combined when less then 8 pins are avail? ie:trisa=%xx00110011 instead of the current trisa.0= trisa.1= etc.

I've tried messing with that, and the question I have is what value should your "x" be set? For most chips it's not a big deal. The 16F877 has only the lowest 3 bits on PORTE, so the application can write "TRISE = %111" to set them all to inputs. The 16F827, on the other hand, appears to be missing PORTA.5. I don't think it would make sense to write "PORTA = %11x11111". My understanding is in that case, the PIC really doesn't care what you set it to--it doesn't exist so it will just be ignored. But I still have to set it to something--1 or 0? Either way it is going to confuse someone sooner or later...

Best Regards,
Paul

cncmachineguy
- 17th September 2010, 15:40
Glad something worked right!
:):)



Well, they need to be set to something... What would you recommend?


My thoughts are to set them to nothing like they are when You first open. Maybe just clear the enable check box. I agree the high/low needs to be set to one or the other. Maybe by default all tris are input and all ports are low?



You didn't like that part? Ok, I've found and fixed that bug.


:)


Ah, well...I don't want to push the joke too far...


Just shows you have more sense then me.



I've tried messing with that, and the question I have is what value should your "x" be set? For most chips it's not a big deal. The 16F877 has only the lowest 3 bits on PORTE, so the application can write "TRISE = %111" to set them all to inputs. The 16F827, on the other hand, appears to be missing PORTA.5. I don't think it would make sense to write "PORTA = %11x11111". My understanding is in that case, the PIC really doesn't care what you set it to--it doesn't exist so it will just be ignored. But I still have to set it to something--1 or 0? Either way it is going to confuse someone sooner or later...


To me using 0 and keeping the value looking "right" is easier to read. but thats just me. it would make great sense to be able to write 11x11111, but I'm sure the compilers will scream!

on an aside, don't know if I've even said thank you, so if not THANK YOU!!!!!!!

cncmachineguy
- 19th September 2010, 20:05
OK. Looking forward...

Ioannis

Just to follow up on this, I finally did remember to bring my ICD3 home from work. Today I have it plugged in. I also have the test interface module pluged into it. From time to time through out the day, I jump to mplab and test the connection. So far so good. I don't really know if this will test the issue or not, but at least is a start.

Ioannis
- 20th September 2010, 09:24
With the test interface works OK. It just ensures that electrically the ICD3 is working.

But if you load a hex file, compile a project or try to program a chip then after a while it looses connection and returns an error message. The only cure is to disconnect the USB cable and reconnect in a few seconds.

Any version after 8.15a does this. In my Vista, XP and in a friends systems to (his ICD3). On the Microchips forum there are reports from others too...

Ioannis

prstein
- 20th September 2010, 17:04
Hello All,

Don't want you to think I've been slacking off too badly...

Attached is the most recent version of the header wizard. It's come a long way but there is still far to go...

Changes and additions to Build 3:

-Now requires accurate location of PBP folder. This is used when populating the "Select PIC" combo box. The include file must exist in both the MPASM and PBP folders to be added. This prevents the application from attempting to parse files for microcontrollers that are not supported by PBP.
When selecting PIC, tabs are updated to show or hide PORT, ADC, Comparator, and USART tabs depending on whether or not they exist for that device.
In General tab, added DEFINE for oscillator speed.
In General tab, added DEFINE for using bootloader.
In General tab, added DEFINE for enabling PORTB pullups.
In Port tab, straightened out reversing of TRIS and PORT bits.
In Port tab, added handling so that PORT and TRIS will be output in a single line each if possible. Unused (i.e. non-existant) bits are set as zero.
In ADC tab, added checkbox to set all potential ADC ports to digital.
In ADC tab, added checkbox to configure internal ADC. At this point ONLY the standard PBP DEFINES are included.
In Comparator tab, added checkbox to set all potential comparator ports to digital.


Comments, bug reports, suggestions always appreciated...

Best Regards,
Paul

cncmachineguy
- 20th September 2010, 19:20
Changes and additions to Build 3:

-Now requires accurate location of PBP folder. This is used when populating the "Select PIC" combo box. The include file must exist in both the MPASM and PBP folders to be added. This prevents the application from attempting to parse files for microcontrollers that are not supported by PBP.



Great idea, but now I'm broke from testing at work again. :(




When selecting PIC, tabs are updated to show or hide PORT, ADC, Comparator, and USART tabs depending on whether or not they exist for that device.
In General tab, added DEFINE for oscillator speed.
In General tab, added DEFINE for using bootloader.
In General tab, added DEFINE for enabling PORTB pullups.
In Port tab, straightened out reversing of TRIS and PORT bits.
In Port tab, added handling so that PORT and TRIS will be output in a single line each if possible. Unused (i.e. non-existant) bits are set as zero.
In ADC tab, added checkbox to set all potential ADC ports to digital.
In ADC tab, added checkbox to configure internal ADC. At this point ONLY the standard PBP DEFINES are included.
In Comparator tab, added checkbox to set all potential comparator ports to digital.


Comments, bug reports, suggestions always appreciated...

Best Regards,
Paul

All sounds really good, just have to wait till I get home to play.:( And I have work I must do before going home.

Ioannis
- 20th September 2010, 19:45
Hi Paul. Thanks for the new version.

Please have a look at the attached picture. It has some garbage under File Utility menus.

Also when starting the application it askes fo the Microchip directory.
a) since it is by default installed in a known place, can this be autmated?

b) the window that request to manually find the directory is at the back ground and not visible.

And it then assumes that my PBP is at c:\pbp

If I have my PBP in a different place, say c:\pbp243 it gives an error message for MPASM not found!

After the error messages if I set the paths in Utility/Settings menu, all are OK after.

In ADC tab, if All Analog Ports to Digital is checked, then there is no point in Configure Built in ADC. An being in the ADC, it does not set the ADCON0/ADCON1 registers. (I tested the 16F887)

Can you add also a PWM tab?

Now this is a reminder if possible to add in a later version: Timers, Comparators, Interrupts.

The last note is about the aesthetic ofte windows. Can this be OS based to look more slick and related to the current OS system?

Ioannis

prstein
- 20th September 2010, 20:32
Hello Ioannis,


Please have a look at the attached picture. It has some garbage under File Utility menus.

You must be using Large Fonts. I'll add some handling to account for that,


Also when starting the application it askes fo the Microchip directory.
a) since it is by default installed in a known place, can this be autmated?

Are you aware of a registry key for this? I could check that and use that as the default (if the key exists). Failing that can you make any recommendations for what the default should be or how it should be determined?


b) the window that request to manually find the directory is at the back ground and not visible.

Good point. I can fix that.


And it then assumes that my PBP is at c:\pbp

If I have my PBP in a different place, say c:\pbp243 it gives an error message for MPASM not found!

Whoops...that will teach me to re-use code! I will fix that as well.

After the error messages if I set the paths in Utility/Settings menu, all are OK after.


In ADC tab, if All Analog Ports to Digital is checked, then there is no point in Configure Built in ADC. An being in the ADC, it does not set the ADCON0/ADCON1 registers. (I tested the 16F887)

Hmm. I'll have to figure out what I did to break that--thanks for finding the problem!

I did figure that someone might wish to configure all ports as digital and then change just one of them (or something) to analog. I probably didn't think that through far enough and will re-visit the question.


Can you add also a PWM tab?

Now this is a reminder if possible to add in a later version: Timers, Comparators, Interrupts.

Comparators is on the short list. PWM can be done reasonably easily (I think). Timers and interrupts somewhat harder. On any/all of these, what do you want to set? (What decisions would the user make and what would the output look like). I've set all of these at one time or another for my own projects but the challenge is how to generalize the rule.



The last note is about the aesthetic ofte windows. Can this be OS based to look more slick and related to the current OS system?

I'm using an old version of Delphi (v4 from 1998!). At some point I'll try recompiling under a newer version, which should update the look.

Thanks for all your comments!

Best Regards,
Paul

prstein
- 20th September 2010, 20:32
Great idea, but now I'm broke from testing at work again. :(

All sounds really good, just have to wait till I get home to play.:( And I have work I must do before going home.

Thanks Bert,

I look forward to hearing about everything that doesn't work!

Best Regards,
Paul

cncmachineguy
- 20th September 2010, 20:46
Paul, maybe we can get a definative list for all the special functions - everyone chime in here - and get a version just showing all tabs as if every function may be used on a "test" device? Even better, anyone want to put together a "test" .inc to try out the app? The test device would be a phantom chip that has every function available in every chip for its class. So maybe 3 files 16F,18F, and 18FJ.

I think this would go far towards the planing side of things.

As for the looks, I really like the new icon.
Which OS to look like? XP,Vista, WIn7, or none of the above. Personally I like the looks of Fedora Core but thats a whole different issue.

cncmachineguy
- 20th September 2010, 20:54
Comparators is on the short list. PWM can be done reasonably easily (I think). Timers and interrupts somewhat harder. On any/all of these, what do you want to set? (What decisions would the user make and what would the output look like). I've set all of these at one time or another for my own projects but the challenge is how to generalize the rule.


And thats what makes this a wizard. :)
Trying to make this the last time WE have to think about this stuff!

cncmachineguy
- 20th September 2010, 21:11
A question for the moderators or anybody more forum savy than I (won't take much)

Seeing how I have the first post in the thread, I would like to edit it to have a link to the most current updates. For example: a Link to Daves post with his link, and a link to todays update from Paul.

I am sure this should be quite easy, but I am just getting the "[QUOTE]" stuff figured out. I don't mind updating the post, just not sure how. Of course, I guess Dave, I could just copy your link and paste it in?

mackrackit
- 20th September 2010, 22:50
See post#1. I am not going very far with my code so I can at least maintain the thread...

Thanks Paul!!!

cncmachineguy
- 20th September 2010, 23:35
Thanks Dave :)

Ioannis
- 21st September 2010, 09:42
You must be using Large Fonts. I'll add some handling to account for that,


Hi Paul. No I do not use other than the system default. In fact they seem a little small as the screen is on a 18.1 Laptop with HD support.


Are you aware of a registry key for this? I could check that and use that as the default (if the key exists). Failing that can you make any recommendations for what the default should be or how it should be determined?

I am not aware of any registry keys, but maybe you can set a default path as c:\program files\microchip\mplab suite

If this is not found, then you dialog will pop-up for the user to correct it.



Timers and interrupts somewhat harder. On any/all of these, what do you want to set? (What decisions would the user make and what would the output look like). I've set all of these at one time or another for my own projects but the challenge is how to generalize the rule.

I fully understand. I do not know exactly too!

Well, for timers lets start by selecting which timer will be enabled, if interrupts also will be set, prescaller settings, count-down value, time it takes according to Clock oscillator, which oscillator (system or external or 32,768).

For Interrupt, sure it is more difficult, maybe Darrel can help here. He has changed the files to a newer version (now is 1.10) and maybe you have to work with him.

Ioannis

Acetronics2
- 21st September 2010, 11:19
Hi, Paul

This tool is beginning to look really nice !!!

I noticed in V3 you used ANCON instead of ADCON ...

one other very little detail is if you select " all digital " ... ADC configs, if also selected, still appear in the produced code window ... might be one option only , no ???

Congratulations ... I'd really like to be able to do that :D !!!

Alain

cncmachineguy
- 21st September 2010, 13:36
Here is my attempt at creating a full wish list. I am not trying to imply This hasn't been covered through the many posts, but I am trying to get it all in 1 place. As I see we are still talking about what to include, I personally couldn't even attempt what Paul has done with such moving targets. Seems odd to me we are this far, and haven't stopped to create this list. so here goes:



Baseline PIC10,PIC12,PIC16
Config's
Comparator
8 bit ADC
OSC

Mid-range (Above plus) PIC12,PIC16
SPI/I2C
UART
PWM(s)
LCD
10 bit ADC
Op Amp

Enhanced Mid-range (Above plus) PIC12F1XXX,PIC16F1XXX
Adds multiple Communication Peripherals
Linear Programming Space - I don't think this has anything to do with the wizard
PWM(s) with independent time base

PIC18 xtras (above plus)
8x8 Hardware multipler (need setup in wizard?)
CAN
CTMU
USB
Ethernet
12 bit ADC


This clearly came direct from the 8-bit brochure. This is all open for discussion, but I think this should be what we are after.

If anyone thinks its a good idea, I will attempt to create a new line of PIC's for us. PIC109999,PIC129999,PIC169999,PIC12F1999,PIC16F199 9,PIC189999.

Maybe we don't need all of them, I'm just not sure. The intended purpose is for testing. This way we wouldn't have to go through all the chips just to make sure everything works.
This is open for discussion.

If it is a good idea, This is not something Paul or Dave should create. After all, they are providing us with their programming skills, we can at least help by putting some text files together. Maybe these "feature rich" chips actually do exist already, in that case we just need to agree they are the test standard.

Now to ALL of us except Paul or Dave, certainally we can help out by coming up with the things to be set for each line item. This way they don't have to do all the homework! For us to be able to do this, we need a format with which to convey the information.

Paul, you asked what should that look like? (in reference to the timers I think). How would you like to get the answer? ie: a list of registers, drop down list idea, radio buttons. Are you looking for input to the general format? This is what I mean by a format to convey the answers. I trust you know what needs to be spit out by the wizard, I am guessing you want to know how the user will tell it?

I guess my point here is this. This really is a big project. As a community we CAN all help to complete this. Part of this may come from my desire to help, but not sure where, so I'm looking for places. From what I can tell so far, this is a forum full of many talents. Maybe someone is a graphic person, They could throw out some design ideas or provide a background graphic. We are all busy, as I'm sure Paul is also. Lets jump in here and make this a REAL community project. In the end, We will have something we will all benifit from, ultimately saving us all time on every project/job.

Please don't take this as me ranting, I am ecstatic thus far with the whole thing! I am just trying to find ways for all of us to be involved.

:):):)

harryweb
- 21st September 2010, 15:02
HI,
The header wizard is a very good idea.
aesthetic is not my first choice...

DT tell us that there is already a functioning Configurator that will be available fairly soon.
One tool is better than many tools... no ?

Regards

Harry Paris

mackrackit
- 21st September 2010, 23:24
Harry,
The one Darrel spoke of wll only do the fuses.

prstein
- 22nd September 2010, 05:37
Hello Everyone,

It's late and I'm tired so I apologize about not replying individually to the bug reports, comments, and suggestions. The enthusiasm and encouragement is also much appreciated.

My poor head is not thinking perfectly straight tonight so I'll just try to weigh in on some of the discussion. I've found (and fixed) the bug Alain identified. I tried to push the text around on the form so none of it interferes with other objects. I've also moved the project from Delphi 4 up to Delphi 2006 (now a part of Borland Developer Studio) to see if that has any effect on the aesthetics. I want to see what else I can implement quickly before getting another version out, so it gets taken a little further instead of just a bug fix.

Bert has made the suggestions of creating a few mock microcontrollers to test out the various features. I support instead identifying a small handful of µCs that are representative. My suggestions are the 12F683, 16F628, 16F877, 18F452, 18F1330, and 18F67J50. Naturally these are the chips with which I have the most experience.

The sky is the limit for the application BUT I don't want to be working on this the rest of my life... (I'm happy to send the source to anyone on request.) There should be defined goals for the first "release" of the application. I would have been happy with setting the configuration fuses...8^) Plan ahead for features to go in subsequent versions. To paraphrase George Patton, "A good application today is better that a perfect application later."

In volunteer software projects "later" turns into "never" all too often so let's wind up with, at minimum, something useful even if it doesn't have everything.

I suggest putting the desired function list into two or three tiers--"Very Important," "Nice to Have," and "Would be Cool but..."

I am not the best programmer/electronics guy on the planet, probably not even in the top 50% of the (incredibly knowledgeable, helpful, gentle, and patient) contributors to this list. What I do have going for me is a broad base of general knowledge and the fact that I'm not really good at giving up on projects. With all of that said, any code, pseudo-code, logic, or even flow charts helping map out how to generalize any of these functions would make it go a lot faster, as the alternative is me plowing through a dozen or so databooks. I'm not averse to that, but it is slower.

And I gotta say, DT's ALLDIGITAL.pbp is a absolute work of art.

Best Regards (and apologies for rambling--again),
Paul

Ioannis
- 22nd September 2010, 08:33
Hi Paul.

Do not appologize for anything. You did a great job so far. We all appreciate the effort and understand that few lines that the project delivers, need a wholo lot of work on the background.

Even if you decide to stop here, be sure to have our appreciation. But if you want to take it further, well we would be more happy, :)

Thanks again,
Ioannis

mackrackit
- 22nd September 2010, 11:29
Paul,

In my opinion the program you have is a good place to stop for a first release. Then after it is used for awhile and hidden bugs chased out add more stuff. I guess the other big thing to add for another release would be interrupts??

One thing to add to the General tab that might save some problems is an MCLR in/reset option.

Your program makes my attempt at a web based system feeble. I like they way yours looks and works.

I suggest putting the desired function list into two or three tiers--"Very Important," "Nice to Have," and "Would be Cool but..."
Good idea.

My suggestions are the 12F683, 16F628, 16F877, 18F452, 18F1330, and 18F67J50. Naturally these are the chips with which I have the most experience.
Could you add 18F2550 to the list???

In volunteer software projects "later" turns into "never" all too often
I resemble that remark :)

The sky is the limit for the application BUT I don't want to be working on this the rest of my life...Hopefully another Delphi programmer will come along to help.

Thanks again for all the work you have done on this!!!!!

Acetronics2
- 22nd September 2010, 13:17
It's late and I'm tired so I apologize about not replying individually to the bug reports, comments, and suggestions.l

Hi, Paul

For your Health sake, please don't !!! ;)

Working or writing articles, I never saw how to run both at the same time ...



Alain

cncmachineguy
- 22nd September 2010, 13:23
Paul,

I did not intend or mean to seem ungrateful or overwhelm you in any way. Thus far Your app is GREAT and I agree with Dave, at this point it is useable and helpful. Just not having to tend to the TRIS on initilize is a big step in being a wizard. If you were to stop now (which I REALLY hope doesn't happen), I'm sure I will use what you have given us for a good while.

As for my very long post, I was really attempting to nail down some sort of idea as to where this is or could be going. Then as I was creating the post, I was a bit overwhelmed, so I started thinking how can we help? After all, I really don't think this should be an "all on 1 person" kinda thing.

Yes the tier idea is perfect! I think the way you are creating this is very good. At anytime, what you have is useable, and also a new function/feature can be added. I don't personally care much about how it looks, I'm a "form after function" kind of guy. But I really DO LOVE your new icon.

I'm not really clear on how you are actually creating this "magic" for us. by that I mean, do you get all the info from a .inc file, then have gillions of if_then or Case type functions?

I will see if I can come up with some sort of flow chart/descision making generalization for a feature.

Again, BIG THANKS for what you have done!:D

prstein
- 23rd September 2010, 05:30
Hello All,

First, just to make it clear, the fact I was fried the last time I posted had nothing to do with this project! I do not feel unappreciated or overwhelmed. You folks are all just swell! My day job, on the other hand....8^)

So I had a few hours tonight and started in on the ADC stuff. I decided to start with the 16F877 (which used to be my "go to" microcontroller). I then started implementing the next nearest type of ADC I could find, which is represented by the 16C433. Those two appear to be making the right data, but the application is picking up way more other PICs than are actually handled in the same manner.

I can think of at least three ways of writing the configuration bits in PBP. First, the terse way is to write everything in a single line for each register, e.g.

ADCON0 = %10101010

The second is to do it a bit at a time, still referencing the registers, e.g.

ADCON0.7 = 1
ADCON0.6 = 0
etc.

The third (and most verbose) way is to alias the register bits and set them by name, e.g.

ADCS1 var ADCON0.7
ADCS0 var ADCON0.6

ADCS1 = 1
ADCS0 = 0

There are probably other ways, too, but I've tried implementing the first and third methods. In the verbose mode I also tried to add helpful comments. There are two screenshots attached showing the results of both ways.

Best Regards,
Paul

mackrackit
- 23rd September 2010, 05:46
Yup, day jobs can be a real pain ;)

Personally I like the first and second ways. How do you normally do it in your code?

prstein
- 23rd September 2010, 05:50
How do you normally do it in your code?

If I had to describe it in a single word I'd say "inconsistently." A combination of all three...

Best Regards,
Paul

cncmachineguy
- 23rd September 2010, 11:28
I like the first way best. third method is nice. second way not so much.

Ioannis
- 23rd September 2010, 12:17
If I have to vote, then 1-3.

Ioannis

circuitpro
- 23rd September 2010, 19:06
This project is GREAT! I look forward to using it.

I vote #1.

I'm thanking you in advance right now.

Acetronics2
- 24th September 2010, 09:41
Hi, Paul

There's a very important button Missing ....

The " DONATE " button ... ;)

Worth it ... I Think !

Alain

HenrikOlsson
- 24th September 2010, 12:03
Hi,
Jumping in in the middle here....
I definitely vote for #1. The other two consumes more codespace and takes longer to execute. The execution time may not matter much but saving codespace is good.

A benefit of #2 (and #3) though is that you could include comments on a bit to bit basis which makes it easier to see what each bit does.

/Henrik.

prstein
- 24th September 2010, 15:04
Hello,

Alas, it will use #1 and #3... Users will have the choice. Checking the "Use ADC Aliases" box gets the nice and wordy #3. Leaving it unchecked gives the more terse #1.

#3 Does use a little more code space but should be more helpful in laying everything out clearly for the less experienced. The aliases also match the the names given for the bits in the datasheet, which could be helpful maybe.

#1 will be there for the more hardcore or those who need to conserve every byte.

Anyway, it became clear to me that there is no way around doing my homework. I'm going through every PIC that PBP supports, getting the datasheet, and logging the ADC configuration bits and registers into a spreadsheet. I started with the 10F202 and am working my way down the list, and I'm roughly a quarter of the way through. Here's some interesting numbers:

-The header wizard identifies 394 PIC microcontrollers supported by PBP. I've gotten my data for 101 of them so far.

-Of those 101, 53 have built-in ADCs.

-Of those 53, there are 15 different combinations of ADC setups. Two of those combinations will set up the ADCs on 24 different PICs while five are unique to a single PIC.

-There really appears to be only 2 or 3 general ways of setting up the ADC (with a couple of unique outliers), primary differences being the number of channels.

-So far, there are 35 different ADC register bits. (I.e., ANS0, PCFG0, CHS0, etc.)

Ok, so maybe they're not really all that interesting...8^) But I'm seeing some distinct patterns showing up that will make implementing the Header Wizard's code a little easier.

My guess is that it will take me another 3 or 4 days to finish gathering the data then another couple of days to implement it in code. So my target is to have a new version posted for next weekend, that will contain all of the bug fixes from the last one and add the ADC configuration.

Best Regards,
Paul

mackrackit
- 24th September 2010, 15:31
Hi Paul,

Just curious, are you using the *.device file for anything.

cncmachineguy
- 24th September 2010, 16:00
@Paul, I do find that very intresting. I am wondering, if you do this through google docs, the spreedsheet could be worked on by more people. I am guessing the information you need will be needed for each feature you want to add. Thats a huge volume of "homework". Or maybe share the format you need it in and we can work on other areas for you.

As a side note, you are gonna be Jedi master of "PIC" data when you are done reading all those datasheets, or just jelly brain.:)

prstein
- 24th September 2010, 16:22
Hi Paul,

Just curious, are you using the *.device file for anything.

Hello Dave,

No, just the MPASM *.INC files What's a "*.device" file?

Best Regards,
Paul

mackrackit
- 24th September 2010, 16:36
Walter Told us about them here
http://www.picbasic.co.uk/forum/showthread.php?t=13663&p=93897#post93897
Might be just as easy the way you are going though...

prstein
- 24th September 2010, 16:53
@Paul, I do find that very intresting. I am wondering, if you do this through google docs, the spreedsheet could be worked on by more people. I am guessing the information you need will be needed for each feature you want to add. Thats a huge volume of "homework". Or maybe share the format you need it in and we can work on other areas for you.

As a side note, you are gonna be Jedi master of "PIC" data when you are done reading all those datasheets, or just jelly brain.:)

Hi Bert,

Thanks for the suggestion, but in this case at least I'm going to continue to plod through on my own as it is an excellent tool for expanding my own understanding. Plus I'll be completing my collection of PBP-capable datasheets--I'm gonna have the whole set!

Interestingly, the spreadsheet becomes a potential configuration file that would obviate the need to parse the .INC files at all...! Not sure I want to go there or not.

As far as becoming a configuration Jedi, well I'd call that a benefit!

Best Regards,
Paul

prstein
- 24th September 2010, 17:13
Walter Told us about them here
http://www.picbasic.co.uk/forum/showthread.php?t=13663&p=93897#post93897
Might be just as easy the way you are going though...

Wow, I should have looked at that closer before. I might take that route. Thanks for making me take a second look!

Best Regards,
Paul

Slazonger
- 27th September 2010, 07:44
Greetings to all! Here there was a speech about program ProtonHeaderMaker.
I have written this program. But I had difficulties with series PIC18 as I am not strongly familiar with it. I have plans in the future to copy this program. It is my first rather large project. Also, I by analogy tried to write the program and for PBP. I will not spread it, as it - in Russian. It is the crude project as I could not be engaged simultaneously in both projects. Probably, it is useful to someone.
I try to develop picbasic in Russia, therefore have written this program. It is difficult to buy licence compiler PBP from us or Proton.
I placed this file on "depositfiles" only because on my site to download a file, it is necessary to be registered, and it is inconvenient to people not from Russia. Here the reference for direct downloading:

protonheadermaker here (http://www.picbasic.ru/proton/Setup.rar)

ScaleRobotics
- 27th September 2010, 08:06
Very Nice. Great job Slazonger. Thanks for sharing that with us! What programming language did you use?

Thanks again,

Walter

Slazonger
- 27th September 2010, 11:41
I'm use delphi. I have some ideas for this program - for example, include pdu coder/decoder e.t.c. Thanks for interesting for my program.

prstein
- 27th September 2010, 20:09
I'm use delphi. I have some ideas for this program - for example, include pdu coder/decoder e.t.c. Thanks for interesting for my program.

Hello Slazonger,

I love Delphi! Are you willing to share your source code?

Best Regards,
Paul

Slazonger
- 28th September 2010, 00:58
I love Delphi two! But my source code is raw. I'm not professional programmer. And what for to you a code? May be, when I will complete, the source code will be shared, but I am not assured...

prstein
- 28th September 2010, 05:28
I love Delphi two! But my source code is raw. I'm not professional programmer. And what for to you a code? May be, when I will complete, the source code will be shared, but I am not assured...

Hello Slazonger,

I am working on a roughly similar sort of program for the PICBASIC Pro compiler, mostly for fun. It would be interesting to see another person's way of approaching some of the problems.

I've learned most of my programming by reading books and practicing. I do get paid to program, but mostly because I work in a very specialized industry. If there is anything I can do to to help with your program let me know--I talk to very few Delphi programmers. I will make the source code for my program freely available in about a week.

Best Regards,
Paul

mackrackit
- 28th September 2010, 09:00
Hey Bert,
Something more for you to play with.
http://wiz.mackrackit.cambs.net/

I am glad Paul is doing one that actually works.

Slazonger
- 28th September 2010, 15:43
I, as well as you, studied delphi a trial and error method, looking periodically in books. Don't misunderstand, but I don't want to spread source code from the left unfinished program. This program was developed only for two languages - Russian and English, and contains some decisions to which I guessed itself, and also the lines containing Russian words. I consider that this code isn't optimum and isn't practical. It will be simply a shame to me with it. And I want to correct it taking into account many factors. Also GUI leaves much to be desired. While the program is accessible in a network to users. I wrote it to lift interest of the Russian users to PICbasic. But, as I have already written, it is difficult to find a place where it is possible to find PBP or Proton in Russia. All know pleasure which you test at use license software. Here with it it is difficult and expensive if to buy abroad.
Simply, get acquainted with carried out functions. If there are questions, write [email protected]

prstein
- 30th September 2010, 05:32
Hello All,

Just wanted to let you all know that I've been working diligently on the header wizard. I've had to effectively re-write the whole thing. I also wrote a utility that parses the various files (dev, inc, and some spreadsheets I made) to create a single text configuration file. This way the app won't have to depend on files from anywhere else, but can easily be updated as new chips are added.

On the down side, my self-imposed deadline for having a new beta for the weekend is going to slip. I've got some actual work-work (the kind that pays bills) with a hard deadline coming up.

On the bright side, I really have been working at this project obsessively. The time I've spent reading datasheets and trolling through the inc and dev files will pay off as the project is expanded.

So I'll figure another week. Don't hesitate to harass (gently) if I go too long without posting something...

Best Regards,
Paul

mackrackit
- 30th September 2010, 13:04
On the down side, my self-imposed deadline for having a new beta for the weekend is going to slip. I've got some actual work-work (the kind that pays bills) with a hard deadline coming up.
That sounds like the BRIGHT side!!! ;)

prstein
- 11th October 2010, 05:00
I've been spending my free moments working on this application. I think I've gotten it basically working (at least for some basic PBP defines, pull-ups, port latches and states, and now the ADC) and I'm doing some debugging and prettying it up a little. It detects if comparators and usarts are present but doesn't do any of those configurations yet.

But, I'm gonna take the rest of the night off...8^) Just wanted to let you know it is still active and moving forward. Possibly Wednesday for the next beta.

Best Regards,
Paul

mackrackit
- 11th October 2010, 05:06
Thanks again Paul.
I am looking forward to it.

prstein
- 13th October 2010, 05:08
Hi All,

Got the new version for you to try out (attached).

Incidentally, from now on I'll just keep updating this file with the latest version.

There are now two files within the zip file. Jut unzip these to the same folder. No paths to MPASM or PBP are required. It will create an ini file (again in that same folder) that currently just retains the last PIC selected.

If you've followed the thread this far you should be able to figure out how to work it. There are extra tabs that appear (Comparator, USART, etc.) that don't do anything yet other than appear when appropriate for the selected PIC. The output is rough but accurate, I believe...

Please let me know any errors, bugs, problems, or inconsistencies, you run into. I'll work on any of these that show up over the next few days then dive back into comparator setup.

Best Regards,
Paul

ScaleRobotics
- 13th October 2010, 06:08
Very impressive Paul ... and I am still playing...

And you thought you wouldn't have a new version out till Wednesday! :)

mackrackit
- 13th October 2010, 07:42
Very nice Paul!!!

Just a note for when you work on the comparator setup.
You said the comparator did not do anything. It changes the ADC to digital.

prstein
- 13th October 2010, 15:05
Just a note for when you work on the comparator setup.
You said the comparator did not do anything. It changes the ADC to digital.

Okay you got me there. The checkboxes for setting ADC and Comparator ports to digital are linked (because you might have one but not the other). If you check one the other is also checked.

Details, details...

Best Regards,
Paul

prstein
- 13th October 2010, 15:07
And you thought you wouldn't have a new version out till Wednesday! :)

Of course the original target was a week and a half ago...

Best Regards,
Paul

harryweb
- 22nd February 2011, 14:00
No news for the header wizard ?

And for the Darrel "Fonctioning Configurator" too ?

Regards

cncmachineguy
- 23rd February 2011, 19:29
No news for the header wizard ?

This may be my fault. I offered to help Paul find some information, then got really busy and didn't finish my side of the task. Sorry Paul and sorry all.

I have not forgot about it, and will provide him the information if he is still willing to continue this project.

prstein
- 24th February 2011, 05:21
harryweb, thanks for asking and bringing this up again.

Bert, you're a heckufa standup guy to try to take some blame. But you've earned none.

I was pretty pleased with the last beta. Then I actually tried using it on a new applications and is absolutely stunk. I got discouraged, and things started getting busy at work again (thank goodness for that). I'll take a fresh look at the code over the next couple of days and come up with a plan.

As far as what Darrel was alluding to I have no idea--maybe the fact that he's working for MELabs now (hooray!) was it?

Best Regards,
Paul