The Bud Toaster - (currently: Model 14, version 3)

Hippie Dickie

The Herbal Cube
Manufacturer
Thanks ... i'm about ready to test unit #2. it has gone together much easier and better than expected - with pretty decent fit and trim, for a change. Then i think i will try batch mode to do the next 4 units. i have been refining my drill & cut templates so i am finally getting repeatable results.

Progress has been too slow ... business has picked up a bit this year -- what's the point of being self-unemployed if i have to work every damn day?
 
Hippie Dickie,

Hippie Dickie

The Herbal Cube
Manufacturer
and, moving forward to that goal ...

Unit #2, first vapor at 4:20PM (idk, but for some reason i was somewhat motivated to get this unit done -- today). Now i need to test it for a couple of days while i complete a batch of 4 more units.

i sure do like how the cube feels to the touch after a generous helping of 600 grit sandpaper.

group photo:

picture.php


picture.php
 

hereatlast

Well-Known Member
Those look fantastic Hippie :clap:

Are the black feet a progression from those clear ones?
 
hereatlast,

baked

Member
This is a great thread Hippie, congrats on getting to the final stages of an amazing journey, theirs not many people who would or could have taken this as far as you have. But i don't envy you on having to repeat making shit loads of these though :p

I think once several Bud Toasters have been sold to people who are willing to do a review it will have a big impact on the vape world ;)

I thought i would have a bash at programming a pic as i have an old elvis programmer lying around but i'm getting several errors in MPLAB, i've never used MPLAB before so it will probably be user error. I don't suppose you could shed some light on what i might be doing wrong?

1 - Main
Error [109] C:Documents.c; 7.25 #include syntax error
Error [109] C:\Documents.c; 8.22 #include syntax error
Error [109] C:\Documents.c; 9.23 #include syntax error
Error [109] C:\Documents.c; 288.22 #include syntax error
Error [109] C:\Documents.c; 289.21 #include syntax error
 
baked,

Hippie Dickie

The Herbal Cube
Manufacturer
i forget how i initially set up MPLAB, but i think i had the same problem at first because i added all the include files to the project, however the only source file MPLAB should have is Main.asm

google search found this:

#include syntax error (Preprocessor)
The syntax of the filename argument to #include is invalid. The argument to #include must be a valid
file name, either enclosed in double quotes ("") or angle brackets (< >). For example:
#include "afile.h"
#include <otherfile.h>
Spaces should not be included, and the closing quote or bracket must be present. There should be
nothing else on the line.

maybe your version of MPLAB is different from the one i use (Version 8.00.00.00), which came with my PICKit1

also, there are only 5 #include errors, but there are 6 include files -- is one include working okay?
 
Hippie Dickie,

Cleanfiend

Well-Known Member
Just wanted to say that I have been following your progress for a few months, and that I really dig the look and build as shown in the pictures above. the sandpapered finish imo is beautiful and refined. Keep up the great work!
 
Cleanfiend,

baked

Member
Hippie Dickie said:
i forget how i initially set up MPLAB, but i think i had the same problem at first because i added all the include files to the project, however the only source file MPLAB should have is Main.asm

maybe your version of MPLAB is different from the one i use (Version 8.00.00.00), which came with my PICKit1

also, there are only 5 #include errors, but there are 6 include files -- is one include working okay?

Thanks for helping a newb Hippie Dickie i had copied and pasted all the pdf files as one large asm file which i think was wrong after reading your reply.... :lol:
So started again and added a linker script for the 12f683 which is supplied in mpasm suite then I've created 6 .asm files by copying each of the pdf files and pasting into MPlab and then saving them as .asm files, I then added the main.asm file to source and all the other files are sat in the same directory but not added to Source. I think from what you have said that the main.asm tells mplab to include them? I think :uhoh:

But looking at the main.asm it only tells mplab to include Lib.asm, DC.asm, LED.asm ?

Seem to be getting more errors now.....

Sorry if the above is dumb but i'm in over my head already. lol

Time to put the laptop down me thinks :rolleyes:
 
baked,

Hippie Dickie

The Herbal Cube
Manufacturer
yes, main.asm explicitly includes all the files needed. i thought this was a lot easier than to go through the hassle of creating a make file for the project.

those 3 files you mention are includes at the bottom of main.asm -- there are also 3 includes at the top of main.asm (lines 21, 22, and 23).
 
Hippie Dickie,

baked

Member
Hippie Dickie said:
yes, main.asm explicitly includes all the files needed. i thought this was a lot easier than to go through the hassle of creating a make file for the project.

those 3 files you mention are includes at the bottom of main.asm -- there are also 3 includes at the top of main.asm (lines 21, 22, and 23).


Hi there Hippie,
for some reason i thought the includes would have been together so overlooked the top ones, It must have taken you a shit load of hours to write this code its hurting my head just reading through it :lol:

I've still not got very far with it though but its been interesting as i love tinkering and have gained a bit of an understanding as what is involved in writing code for a PIC but not enough to create the hex. I really don't know where i'm going wrong :/

The errors i'm getting are mainly in the Vars.asm and DC.asm and mainly 108 Illegal character & 113 Symbol not previously defined errors. I've made sure that ive copied and pasted the code correctly and Mplab seems to auto insert the syntax coloring so i don't think its anything to do with how the code is being moved over to Mplab, i've tried building the project using project wizard (Mpasm toolsuite/assembler) and quick build ..... I'm stumped i can only assume it's down to the settings in Mplab ver8.66. Is their anychance you could post the hex file?
 
baked,

Hippie Dickie

The Herbal Cube
Manufacturer
uploaded Main.hex and Main.lst

the Macro.asm has all the macro definitions which must be seen by the assembler before they are used, so the file has to be at the top, as well as the variable defs.
 
Hippie Dickie,

baked

Member
Thank you Hippie, much appreciated for the hex and your patience,
When you say the macros and variables have to be at the top do you mean that i should be copying and pasting the vars and macros .asm into the main.asm as one large .asm and adding that to the source file or do you mean that I should be placing the macro.asm, vars.asm and main.asm in the source file with the macro and var.asm above the main.asm also is it absolute or relocatable mode?

Since posting last I've found the microchip forums and reading lots (huge learning curve) :)

I will make this my last post in your thread unless it's directly related to your progress as i feel like I'm hijacking your thread and swaying it off track.



Keep up the amazing work you are doing, you are one smart cookie ;)
 
baked,

Hippie Dickie

The Herbal Cube
Manufacturer
i don't mind you posting questions in this thread -- progress is going to be somewhat slow since i have a website redesign/rewrite going on in my real life -- it is the end of retail as i know it, and the web is the solution.

So. Code is generated in absolute mode -- i.e. i'm not using the linker.

There is only one project file that needs to be loaded into MPLAB: main.asm. This is the source file.

Main.asm contains the #include directives that bring in all the other files to assemble the project into the executable. You could manually copy and paste the contents of the other five .asm files into the main.asm file, but i find that to be too unwieldy to work with on the small screen of my TabletPC -- too much scrolling around, and i often want to easily switch between a subroutine definition and where the subroutine is used in the program, so i like to group subroutines into individual files according to the purpose of the subroutines.

So, while the project file (Bud Toaster PWM.mcp) has sections for Header files, Object files, Library files, Linker scripts and Other files -- all of that is ignored in this project. The only file in the project file is main.asm.

Here is my .mcp file:
[HEADER]
magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
file_version=1.0

[PATH_INFO]
BuildDirPolicy=BuildDirIsProjectDir
dir_src=
dir_bin=
dir_tmp=
dir_sin=
dir_inc=
dir_lib=
dir_lkr=

[CAT_FILTERS]
filter_src=*.asm
filter_inc=*.h;*.inc
filter_obj=*.o
filter_lib=*.lib
filter_lkr=*.lkr

[OTHER_FILES]
file_000=no

[FILE_INFO]
file_000=Main.ASM


[SUITE_INFO]
suite_guid={6B3DAA78-59C1-46DD-B6AA-DBDAE4E06484}
suite_state=

[TOOL_SETTINGS]
TS{DD2213A8-6310-47B1-8376-9430CDFC013F}=
TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
TS{ADE93A55-C7C7-4D4D-A4BA-59305F7D0391}=

[INSTRUMENTED_TRACE]
enable=0
transport=0
format=0

So, use the Project Wizard and just identify the main.asm file to build the project. Just make sure the assembler can see the other .asm files (locate them in the same directory).

thank-you for your compliment -- but i've been a programmer for 45 years and this all looks the same after a while. There are only a few key concepts in computer "science" (art, really) that get stirred around every so often. A lot of times i can't explain in detail what i've done, i just work on instinct.
 
Hippie Dickie,

zenmasterofzinfandel

Well-Known Member
Hippie Dickie said:
thank-you for your compliment -- but i've been a programmer for 45 years and this all looks the same after a while. There are only a few key concepts in computer "science" (art, really) that get stirred around every so often. A lot of times i can't explain in detail what i've done, i just work on instinct.

Daaamn HD, you predate the PC, you musta been a mainframe guy for a long time then.

My comp sci univ prof. boss from the early 80's used to have an Altos 8000 w/dual 8in floppy drive.
http://classictech.wordpress.com/2011/02/19/altos-computer-systems-san-jose-calif/
He also had a prototype GriD Systems "portable" that he said cost $5000---was never sold commercially, had an 4in display, 5.25 floppy & 5MB HD, iirc. Black case, size of a small suitcase, weighed something like 16lbs and my boss was just stoked about it. Looked like a high-end version the Osborne 1.
http://lowendmac.com/musings/08mm/notebook-history.html
Dynabook

The concept of the handheld portable computer goes back to Alan Kay's days at Xerox PARC. In 1968, when computers were massive and lived in clean rooms, he envisioned the Dynabook, a handheld computer weighing less than two pounds.

And now we have it, sans physical keyboard, in the iPad2 :)

Apple thought different, took those few key concepts and made slick, sexy, lust worthy (art, really) computers out of previous clunky & less than user friendly designs, mpg3 players, cell phones, and now tablets.

Think out of the box, think different; make a slick, one-piece BT (instead of separate PS/Battery pack), like an Apple product...sell millions, before the imitators/knockoff's catch up and pass you buy.
 
zenmasterofzinfandel,

baked

Member
Thanks again Hippie ;)
I've discovered where most of the errors were and it was down to the way i copied and pasted, for some reason when the code was over a certain length it put half of it on the line below....

But theirs still two errors in the macro which i don't understand:

Make: The target "C:\MCP and Hex\Main.o" is out of date.
Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p12F683 "Main.asm" /l"Main.lst" /e"Main.err" /d__DEBUG=1
Error[116] C:\MCP AND HEX\MACRO.ASM 142 : Address label duplicated or different in second pass (Skip_If_Old_NOT_vAbove)
Error[116] C:\MCP AND HEX\MACRO.ASM 161 : Address label duplicated or different in second pass (Skip_If_Old_NOT_vBelow)
Halting build on first failure as requested.

Which refers to the hilighted code:

;--------------------
Set_vAbove macro
bsf vCOILTEMP,vAbove
endm
Clear_vAbove macro
bcf vCOILTEMP,vAbove
endm
Skip_If_vAbove macro
btfss vCOILTEMP,vAbove
endm
Skip_If_NOT_vAbove macro
btfsc vCOILTEMP,vAbove
endm
Skip_If_Old_vAbove macro
btfss vCOILTEMPold,vAbove
endm
Skip_If_Old_NOT_vAbove macro
btfsc vCOILTEMPold,vAbove
endm
;--------------------
Set_vBelow macro
bsf vCOILTEMP,vBelow
endm
Clear_vBelow macro
bcf vCOILTEMP,vBelow
endm
Skip_If_vBelow macro
btfss vCOILTEMP,vBelow
endm
Skip_If_NOT_vBelow macro
btfsc vCOILTEMP,vBelow
endm
Skip_If_Old_vBelow macro
btfss vCOILTEMPold,vBelow
endm
Skip_If_Old_NOT_vBelow macro
btfsc vCOILTEMPold,vBelow
endm
;--------------------
 
baked,

Hippie Dickie

The Herbal Cube
Manufacturer
not to quibble (too much) i think the HP TC1100 TabletPC is closer to the DynaBook. Although Alan had a tape drive in an early DynaBook prototype he showed around. Yeah, PARC was a fun place -- it's where Rolling Stone mag held the first StarWars computer game competition. They had to get security guards after that.

re: address label duplicated. idk, but could be another copy/paste error. you may have to search all the .asm files for those two labels to find the duplicate.
 
Hippie Dickie,

baked

Member
Hippie Dickie said:
re: address label duplicated. idk, but could be another copy/paste error. you may have to search all the .asm files for those two labels to find the duplicate.

Thankyou.....
 
baked,

keifrichards

Shh! I'm Taping Here
Hippie Dickie said:
AND, MOST IMPORTANT ... i hope you're using all glass vapor path. It ain't no Bud Toaster if it ain't all glass vapor path, you know.


You da man.. ... Very nice.. have you ever experimented with dark colored glass for the oven. That might radiate better and created faster heat and longer hold times I just re read and saw someone recomended this for the vial. I think the oven would be a better candidate....
:2c:

Really nice!

Keif
 
keifrichards,

Hippie Dickie

The Herbal Cube
Manufacturer
well, the glass oven tube is custom made (in India), so it's set in stone for this model. i can get amber vials, but all in all, i think this would be too small a difference to matter.

As for "longer hold times" -- this is totally solved by the high amp delivery batteries and computer control of the temperature. The vape maintains the set point temperature regardless of draw speed. But that said, a long slow draw delivers more vapor since the hot air takes more time moving past the trichomes, extracting more vapor.

on another matter: the last piece of the design puzzle --- i have finally figured out the battery sled design. i should be able to get a prototype made for usability testing in the next two days.
 
Hippie Dickie,

budballer

Well-Known Member
Hey HD, i realize this is kind of off topic, but i've really been getting into code and programming lately. Assembly language seems very useful, could you point me towards a good resource to learn from for .asm? I'd like to someday be able to make and develop my own devices such as your bud toaster, which only seems to look more and more like my ideal vape by the way, good job!
 
budballer,

Hippie Dickie

The Herbal Cube
Manufacturer
Thank-you.

sorry, i really don't have any resources to recommend -- other than to say: just pick a processor, find (and download) a simulator so you can test the code you write, and use google to find some tutorials -- there must be millions of them by now. For example, Google("assembly language programming tutorial") will return 982,000 hits, including YouTube videos for programming the PIC which i use in the Bud Toaster.

The first language i studied was FORTRAN, so i guess i would recommend learning a high-order language before diving into Assembler. Really, any language would be good to get the basic ideas of variables and language constructs: Basic, Pascal, Algol, Ada, etc. (i never learned or coded in COBOL), but avoid the Object Oriented languages at the start, since most of those concepts aren't reflected in Asm ... OO is just a bookkeeping hack anyway, so learn the fundamentals of programming before diving into SmallTalk, the grandaddy of OO.

The second language i learned was LISP (at MIT AI in the late 1960s) ... now that was way cool.
 
Hippie Dickie,
Hippie obviously this is all up to you but when can I give you my money? :lol:

In otherwords, can you give us an update on where the budtoaster currently stands for those of us who are patiently following.
 
biojuggernaut,
Top Bottom