Just a category for static pages
I've been meaning to "log" my musical achievements somewhere and I figured this is the best place to do that :)
It's not much, but it's what I got...
Here's my "story"
1995 -1998 (Getting Started)
In October of 1995, my lovely wife bought me my first guitar for my birthday. Little did she know that it would be come a "hobby" that would consume much of my time and even some of hers! Were she able to look in to the future, I doubt she would have bought it for me! ;) hehe It was an acoustic guitar and at the time I was listening to a lot of rock music - Candlebox, Metallica, Alice In Chains, Soundgarden, etc... So after a few months I went out and bought an electric guitar so I could start making some real noise!
I played for probably two years just in my den, playing along with the radio, trying to copy what I heard. I knew nothing of theory or chords or scales and such, just emulating what I heard on the radio.
One day, in 1997, I was supposed to be working, and found my self attending a "Liquid Lunch" instead. For those of you local to the Tampa bay area, you'll remember the 98 Rock Liquid Lunches - Live rock music and lots of beer and food :)
The band that was playing that day was called "The Bleeding Hearts" - Earl Foote (vocals), Archie Muise (guitar), Sean Colpoys (bass), and George Martin(drums) - I watched in awe as Archie tore the place up for at least an hour! That sparked in me something I'd never felt before, something I wanted to experience for myself, to be up there on that stage... Now for those of you who know me or knew me, you'd know that I'm not the "go getter" type and I'm pretty shy and introverted for the most part, but that spark was so strong I HAD to hang out and talk to Archie afterward. Of course at this point I didn't even know the guy's name, just knew he could shred like I'd never seen before. So, up I went, of course I had to wait until the mob of girls was mostly cleared out ;)
I talked to Archie, told him that I thought the band rocked and that I had just started playing guitar myself and wish I could play like that. Archie then proceeded to tell me that he gave lessons, and that was all I needed to hear! "Sign me up!" I said enthusiastically! "Sure thing man" I think was something he responded, I suspect he was trying to brush me off. hehe. He then proceeded to try and talk to a few more of the girls that were hanging out nearby. but I was determined and would not go away - I was not leaving without some contact information for my new guitar teacher! It's funny - to hear Archie tell the story goes something like this - "Yeah I was trying to hang out with some chicks after the gig and this dude would just not go away, wanted guitar lessons or something. But I remember one thing, this guy was persistent!" - and that I was!
If you want to take a break, get a cup of coffee, maybe lunch - now's a good time because the story's not over... hehe ;)
Ok, so... I started taking my lessons and that went on for - I dunno - years I guess (I'm still pretty much Archie's student!) :) but here's a cool little side story... At the time I was working for my pop at Schold Machine, and one guy that worked there (Lee Zurman) was telling me that his son, Craig, was needing some help in his I.T. department - writing software... Well that was the way I was wanting my career to go so I gave Craig a call and agreed to start working for him. Later that week I was over at Archie's for a lesson and Archie was on the phone, talking about some race car drag race and how he'd never been going that fast, etc... He hangs up the phone and asks me "So what's going on, what's new?"... "Not much, just starting some work with a guy that owns ZD integrated, doing some programming, pretty cool stuff"
"Who?" says Archie
"ZD Integrated, Craig Zurman" I answer...
"No way!" says Archie, "That was Craig on the phone I just hung up with, I've known Craig for years!"
Small world, and looking back at all we've done, I think both Archie and I realized that we were just meant to meet, one way or the other :) On top of THAT connection, there's a few more believe it or not... Sean Colpoys (bass player for Bleeding Hearts) goes on to work at ZD Integrated as well, so I would have met Archie that way... I also ended up playing in a band with Rich Cliff, who worked at ZD and also knew Archie so I would have met him that way too!
Ok so there's my first "name drop" - Archie J. Muise
Brian Welch, better known as "Head" of Korn, says this about Archie playing on his CD...
And another guy named Archie J. Muise laid some rhythm guitar tracks when I was out of the studio or was havin' a sissy fit or something. He came in played my parts for me (laughs). It was cool to have different types of musicians, ya know? In Korn, all I ever jammed with were the guys in Korn or maybe Limp Bizkit or something. These guys were different than what I was used to, ya know? It was cool to just play with some pros, ya know?
Okay - enough about Archie... C'mon man get your own page.. ;p hehe
1998 - 2004 (Blue Joules and switching to bass)
So to continue my story... As I said before I go on to play in a band with Rich Cliff. At first it's just a few guys jamming together, Rich on the drums, me playing guitar, and Craig, singing... we go on like that for a year or so, doing some cover tunes writing a few new tunes, jamming with a few people here and there... But we never really pulled it together tight until one day Rich brings in a few of his friends from school, one guy sings (Rob) and one guy plays guitar (Joe) - Well Joe sets up and it's clear right away who the better guitar player is ;) Joe can play pretty good!
Well, we never really had a steady bass player, so I figured for a while I would play the bass so we could have a full band for a while at least. For 8 years, I never looked back to the guitar! While I thought, at first, bass would be easy (and boring) I was wrong on both accounts! To truly play the bass as a bass player, it takes a lot of work. It really is a completely different instrument and can add a lot to the band and overall music - a lot more than people think.
So we started to tighten things up, write a few tunes, and we played our first gig ever at Rich's birthday party April 1st (no joke!). Entitled "Rich Fest 2001" we "opened up" for Damn the Torpedoes (Greg Billings of Stranger), The Bleeding Hearts, Universal Baby (Jeremy Thomas, Sean Colpoys), and I think Tommy Ray Moody even played the party (Yes I'm again dropping names of the people I've played with and know) ;)
A buddy of ours, Chris Billich, came up with the name of the band for us... He had a girl that he was chatting to online, her handle was "Blue Jules" (Her name was Julie) - we played around with the idea and came up with Blue Joules (Joules as in "electricity")
Blue Joules went on to play for many years together - along the way we lost Joe, picked up Don Burns and Wade Penrod, and then lost Wade, but for the most part, Blue Joules was Rob Clark (vocals), Rich Cliff (drums), Don Burns (guitar), and me (bass). We produced two studio albums, 'Yearbook' and 'Down to This'. We played many many shows, some with some pretty big name bands like Gin Blossoms, Firehouse, Remy Zero , Big Sky and more when I can remember them! We played some pretty cool shows and festivals at places like the Hard Rock in Orlando, Janus Landing here in St. Pete, and also more when I can remember them! (sucks getting old!). We also won a few "Battle of the Bands" contests.
One other highlight to note, in 2002 (the year the Tampa Bay Buccaneers went to the Superbowl) we recorded a parody song "Going To The Superbowl" to the J. Geils tune "Centerfold" - the cool thing is that we recorded the song BEFORE the season even started! When the Bucs were actually on their way to the Superbowl, our parody was being played all over the Tampa Bay radio stations, and even at the stadium when the Bucs returned that night! Pretty cool :)
And so my story continues.....
In my never ending quest to better my playing, I stopped by the Players School of Music here in Clearwater. Since I was a "self taught" bass player, I thought some actual lessons would be good for me. I didn't really know what they were all about, just always saw the sign for the place and thought I'd stop in. I talked to someone, I thought was the receptionist, about lessons. "Jeff doesn't give private lessons anymore, you can attend the school though and come to the group classes" she was telling me... and I thought to myself, "Jeff? Who's this Jeff guy..." - While I was talking to her she asked what i did for a living. "I write software" I told her... "Oh! We really need someone to write us some software! Let me let you talk to Jeff and see if we can work something out". She led me to the back, to an office, "wait here, I'll go get him" she told me... While I was waiting I checked out the many pictures he had on the wall... Some pictures of Allan Holdsworth, the Band Yes, Frank Zappa, Bill Bruford, Billy Cobham, Issac Hayes, George Benson, K.D. Lang, Jermaine Jackson, and Larry Coryell, and my all time hero - Geddy Lee. What I didn't realize at the time was... that was this "Jeff" character was IN the pictures with all of these people! If you haven't guess already - the "Jeff" I'm talking about is Jeff Berlin. (name drop alert)
So in walks Jeff, again I'm still not really grasping the concept of who I'm really talking to, seems like a regular guy - so I'm talking to him like a regular guy hehe - I bet that threw him for a little loop, I bet most people are in awe just to be in the same room with such an iconic player. but I didn't know any better ;) But to be honest, Jeff is really a down to earth and great guy, even though he could justify a monster ego, he doesn't have one :) So Jeff and I strike up a deal - I will write him some software in exchange for some private lessons (yes - I said private lessons - with Jeff Berlin!) I still had no idea of the magnitude of my luck!
It wasn't until the next time I talked with Archie... "What the?!?!!! WHO!?!?!" I think was his exclamation. "Yeah, this dude Jeff Berlin" I said casually - Archie then proceeded to lay it out for me who Jeff was and IS in the music community. If you search for Jeff Berlin on Youtube, you'll see him jamming with Billy Sheehan, Victor Wooten, and even Jaco Pastorius, as well as some other really TOP players (and you can hear his amazing playing as well - and buy his CDs) he is also personal friends with my all time favorite - Geddy Lee (RUSH). I think when I first saw a few emails roll in to Jeff's inbox from Geddy that it actually hit me that I was in over my head! :)
2004 - 2008 (Limbo and Friends)
Well that's the bulk of my story, I went on, after Blue Joules broke up, to try and start or play in a few bands, one band was called Polk and we had one gig worth mentioning... We opened up for Switchfoot for a crowd of about 10,000 people at Cyprus Gardens. That will probably go down in the record books for me as the biggest show I've ever played :)
Along the way I've met and become friends with many people! So I thought I'd mention a few that stand out here...
When we first started playing around in the jam room, we went to Seminole Music to buy all of our gear. At the time, the manager there was Matt Buckner (Big Brother, Sunburn) I can safely say that I have bought 90% of my musical gear from Matt and him and I became and are still friends to this day! (He even came out to a show last month and jammed with the band!) :) Of course Matt has moved on to bigger and better things and now sells gear all over the world (literally), so I can't buy my gear directly from him anymore :( (hence the 10% I didn't buy from him hehe) "officlially" anyway ;)
Another couple of friends I'd like to mention are Bruno Baermann and Mike Landes... I grew up with these two guys and if it wasn't for them I might have quit playing altogether. In the time after Blue Joules I tried to join and form several bands, none panned out and I was about to give up, stopped playing for months even... Then one day I called up Bruno and Mike and "ordered" them to go out and buy some drums and a bass and come hell or high water we were going to form a band! Code 8 we called ourselves :) we played together for probably a year before we met Rich Adams and he joined the band as the singer (which we'd never had). Unfortunately Mike moved away and we struggled along without bass for a while until we met Reggie, who was a really good player and we almost got to the point where we could play out, then Reggie moved away too! and finally Bruno moved away... That left Rich and I, which leads us to the next (and current) situation - Big Moon Rocket!
2008 - Now (Big Moon Rocket)
I thought I'd check out Craig's List for anyone needing a guitar or bass player, I'd seen many ads and for some reason decided to follow up on this one, looking for a bass player... I went out to jam with the guys, Tony Motanez (vocals), Steve (guitar), and Scott Davis(Drums). and we got along and sounded pretty good :) they informed me that they had a gig scheduled in a few weeks (even better) so I joined the band right there, I figured to at least get them through the gig... So here's where it gets interesting... about two weeks before the gig Tony calls me up and says that Steve is quitting and we might have to cancel the gig! Since I'd been playing the guitar with Code 8, I figured I might be able to pull off playing the guitar for the gig - so we then recruited Rich Adams (Code 8) on the bass - I really wanted to get Rich because even though he didn't play the bass, I knew he had the passion to learn it and his vocal ability would be invaluable in the future - two great singers in a band? sounds like a good deal to me! ;)
Well Big Moon Rocket played like that for a few years, local clubs and such. We recorded our first 6 song EP "Countdown" in Tony's garage and got it played on several Internet Radio stations (VRadio). After a few years went by I was attending a funeral for our great friend Chris Billich (See him from above, the source for the Blue Joules name) and was talking to Don Burns, the guitar player for Blue Joules. Well Don wasn't really doing much and so I invited him to come jam with the band. We added Don to the band after the first Jam :) our styles on guitar are so different that it was a great match!
Big Moon Rocket conituned for a good year with a 5 man line up and we recorded our second 6 song EP "Bikini Girl", again in Tony's garage.
Story doesn't end there though! There's one more turn of events... Scott, the drummer, decides that we're all not going in the same direction and decides to part ways with the band. Rich, the bass player, played the drums growing up and would rather be a drummer than a bass player (remember we "forced" him to be the bass player) :) - so Rich is taking the drums and I am back on bass! (where I belong) :) After a few jams with this new line up we realize that THIS band is going to ROCK, without a doubt!
Well, and wouldn't you know it, but things change again LOL Rich decides that things at home are more important (and they are) and so parts ways with the band - we go through trying out a few drummers until finally getting Wade Penrod (remember Wade from playing with Blue Joules (above) for a while and he's actually Don's cousin) - Wade is a solid drummer and a great guy and we are estatic to have him in the band!
So! Big Moon Rocket (for those of you keeping score) is: Tony Montanez on Vocals and rythym guitar, Don Burns on Lead Guitar, Jamie Cunningham (that's me!) on bass, and Wade Penrod on drums
So please check out Big Moon Rocket - we do a mix of original music and cover tunes and play out around St. Pete, FL. Come check us out! :)
I am a proud player of Warwick basses - best bass on the planet!
My name is Jamie Cunningham and I work as a software developer in Clearwater, Florida. In addition to managing the entire organization's technology infrastructure, I also write the code for the company's internal applications and customer portal websites. In the beginning of my development career I used Borland Delphi, but since 2005 I have switched to writing web and windows apps in C# using Microsoft's .Net Framework.
Before forming Varitech in 2009, I worked in the computer industry as an on-site computer repair technician, a CAD/CAM operator in an engineering department, and as a software developer / web developer for several other companys. I was also enlisted in the Air Force and have many credit hours in Electronics Engineering. In every position I was called upon to perform duties far beyond my title's responsibilities, and this is what has given me the wide range of technology experience. For instance, at Saxotech, while working as a software developer, me and one other developer (Corky Garko) completed several corporate videos for the Saxotech User Conference. This involved filming employee interviews, video editing, and many 3D animations.
My personal interests revolve around computers in general, graphics, filmmaking, CNC machines, woodworking, metalworking, and I'm also the bass player in a pop/rock band Big Moon Rocket. Also please take a look at my Musical Biography.
My professional interests include software design, database design, website design, computer and networking hardware. I have owned my own software company as well as a consulting business for many years, but have given them up for the cushy desk job :) Although I still pull off a little "side work" here and there (just in case you need anything)
Thanks for checking out my site and subscribe to my feed so you can be up on the latest posts!
Some of my notable acheivements:
NC Programming Codes
NC Programming as per ISO (DIN 66025) and RS274
G-Codes simple definition
G00 Rapid traverse
G01 Linear interpolation with feedrate
G02 Circular interpolation (clockwise)
G03 Circular interpolation (counter clockwise)
G2/G3 Helical interpolation
G04 Dwell time in milliseconds
G05 Spline definition
G06 Spline interpolation
G07 Tangential circular / Helix / Polygon / Feedrate - interpolation
G08 Ramping function at block transition / Look ahead "off"
G09 No ramping function at block transition / Look ahead "on"
G10 Stop dynamic block preprocessing
G11 Stop interpolation during block preprocessing
G12 Circular interpolation (cw) with radius
G13 Circular interpolation (ccw) with radius
G14 Polar coordinate programming, absolute
G15 Polar coordinate programming, relative
G16 Definition of the pole point of the polar coordinate system
G17 Selection of the X, Y plane
G18 Selection of the Z, X plane
G19 Selection of the Y, Z plane
G20 Selection of a freely definable plane
G21 Parallel axes "on"
G22 Parallel axes "off"
G24 Safe zone programming; lower limit values
G25 Safe zone programming; upper limit values
G26 Safe zone programming "off"
G27 Safe zone programming "on"
G33 Thread cutting with constant pitch
G34 Thread cutting with dynamic pitch
G35 Oscillation configuration
G38 Mirror imaging "on"
G39 Mirror imaging "off"
G40 Path compensations "off"
G41 Path compensation left of the work piece contour
G42 Path compensation right of the work piece contour
G43 Path compensation left of the work piece contour with altered approach
G44 Path compensation right of the work piece contour with altered approach
G51 Part rotation; programming in degrees
G52 Part rotation; programming in radians
G53 Zero offset off
G54 Zero offset #1
G55 Zero offset #2
G56 Zero offset #3
G57 Zero offset #4
G58 Zero offset #5
G59 Zero offset #6
G63 Feed / spindle override not active
G66 Feed / spindle override active
G70 Inch format active
G71 Metric format active
G72 Interpolation with precision stop "off"
G73 Interpolation with precision stop "on"
G74 Move to home position
G75 Curvature function activation
G76 Curvature acceleration limit
G78 Normalcy function "on" (rotational axis orientation)
G79 Normalcy function "off"
G80 - G89 for milling applications:
G80 Canned cycle "off"
G81 Drilling to final depth canned cycle
G82 Spot facing with dwell time canned cycle
G83 Deep hole drilling canned cycle
G84 Tapping or Thread cutting with balanced chuck canned cycle
G85 Reaming canned cycle
G86 Boring canned cycle
G87 Reaming with measuring stop canned cycle
G88 Boring with spindle stop canned cycle
G89 Boring with intermediate stop canned cycle
G81 - G88 for cylindrical grinding applications:
G81 Reciprocation without plunge
G82 Incremental face grinding
G83 Incremental plunge grinding
G84 Multi-pass face grinding
G85 Multi-pass diameter grinding
G86 Shoulder grinding
G87 Shoulder grinding with face plunge
G88 Shoulder grinding with diameter plunge
G90 Absolute programming
G91 Incremental programming
G92 Position preset
G93 Constant tool circumference velocity "on" (grinding wheel)
G94 Feed in mm / min (or inch / min)
G95 Feed per revolution (mm / rev or inch / rev)
G96 Constant cutting speed "on"
G97 Constant cutting speed "off"
G98 Positioning axis signal to PLC
G99 Axis offset
G100 Polar transformation "off"
G101 Polar transformation "on"
G102 Cylinder barrel transformation "on"; cartesian coordinate system
G103 Cylinder barrel transformation "on," with real-time-radius compensation (RRC)
G104 Cylinder barrel transformation with center line migration (CLM) and RRC
G105 Polar transformation "on" with polar axis selections
G106 Cylinder barrel transformation "on" polar-/cylinder-coordinates
G107 Cylinder barrel transformation "on" polar-/cylinder-coordinates with RRC
G108 Cylinder barrel transformation polar-/cylinder-coordinates with CLM and RRC
G109 Axis transformation programming of the tool depth
G110 Power control axis selection/channel 1
G111 Power control pre-selection V1, F1, T1/channel 1 (Voltage, Frequency, Time)
G112 Power control pre-selection V2, F2, T2/channel 1
G113 Power control pre-selection V3, F3, T3/channel 1
G114 Power control pre-selection T4/channel 1
G115 Power control pre-selection T5/channel 1
G116 Power control pre-selection T6/pulsing output
G117 Power control pre-selection T7/pulsing output
G120 Axis transformation; orientation changing of the linear interpolation rotary axis
G121 Axis transformation; orientation change in a plane
G125 Electronic gear box; plain teeth
G126 Electronic gear box; helical gearing, axial
G127 Electronic gear box; helical gearing, tangential
G128 Electronic gear box; helical gearing, diagonal
G130 Axis transformation; programming of the type of the orientation change
G131 Axis transformation; programming of the type of the orientation change
G132 Axis transformation; programming of the type of the orientation change
G133 Zero lag thread cutting "on"
G134 Zero lag thread cutting "off"
G140 Axis transformation; orientation designation work piece fixed coordinates
G141 Axis transformation; orientation designation active coordinates
G160 ART activation
G161 ART learning function for velocity factors "on"
G162 ART learning function deactivation
G163 ART learning function for acceleration factors
G164 ART learning function for acceleration changing
G165 Command filter "on"
G166 Command filter "off"
G170 Digital measuring signals; block transfer with hard stop
G171 Digital measuring signals; block transfer without hard stop
G172 Digital measuring signals; block transfer with smooth stop
G175 SERCOS-identification number "write"
G176 SERCOS-identification number "read"
G180 Axis transformation "off"
G181 Axis transformation "on" with not rotated coordinate system
G182 Axis transformation "on" with rotated / displaced coordinate system
G183 Axis transformation; definition of the coordinate system
G184 Axis transformation; programming tool dimensions
G186 Look ahead; corner acceleration; circle tolerance
G188 Activation of the positioning axes
G190 Diameter programming deactivation
G191 Diameter programming "on" and display of the contact point
G192 Diameter programming; only display contact point diameter
G193 Diameter programming; only display contact point actual axes center point
G200 Corner smoothing "off"
G201 Corner smoothing "on" with defined radius
G202 Corner smoothing "on" with defined corner tolerance
G203 Corner smoothing with defined radius up to maximum tolerance
G210 Power control axis selection/Channel 2
G211 Power control pre-selection V1, F1, T1/Channel 2
G212 Power control pre-selection V2, F2, T2/Channel 2
G213 Power control pre-selection V3, F3, T3/Channel 2
G214 Power control pre-selection T4/Channel 2
G215 Power control pre-selection T5/Channel 2
G216 Power control pre-selection T6/pulsing output/Channel 2
G217 Power control pre-selection T7/pulsing output/Channel 2
G220 Angled wheel transformation "off"
G221 Angled wheel transformation "on"
G222 Angled wheel transformation "on" but angled wheel moves before others
G223 Angled wheel transformation "on" but angled wheel moves after others
G265 Distance regulation Ã¢â‚¬â€œ axis selection
G270 Turning finishing cycle
G271 Stock removal in turning
G272 Stock removal in facing
G274 Peck finishing cycle
G275 Outer diameter / internal diameter turning cycle
G276 Multiple pass threading cycle
G310 Power control axes selection /channel 3
G311 Power control pre-selection V1, F1, T1/channel 3
G312 Power control pre-selection V2, F2, T2/channel 3
G313 Power control pre-selection V3, F3, T3/channel 3
G314 Power control pre-selection T4/channel 3
G315 Power control pre-selection T5/channel 3
G316 Power control pre-selection T6/pulsing output/Channel 3
G317 Power control pre-selection T7/pulsing output/Channel 3
Note that some of the above G-codes are not standard. Specific control features, such as laser power control, enable those optional codes.
M codes simple definition
M00 Unconditional stop
M01 Conditional stop
M02 End of program
M03 Spindle clockwise
M04 Spindle counterclockwise
M05 Spindle stop
M06 Tool change (see Note below)
M19 Spindle orientation
M20 Start oscillation (configured by G35)
M21 End oscillation
M30 End of program
M40 Automatic spindle gear range selection
M41 Spindle gear transmission step 1
M42 Spindle gear transmission step 2
M43 Spindle gear transmission step 3
M44 Spindle gear transmission step 4
M45 Spindle gear transmission step 5
M46 Spindle gear transmission step 6
M70 Spline definition, beginning and end curve 0
M71 Spline definition, beginning tangential, end curve 0
M72 Spline definition, beginning curve 0, end tangential
M73 Spline definition, beginning and end tangential
M80 Delete rest of distance using probe function, from axis measuring input
M81 Drive On application block (resynchronize axis position via PLC signal during the block)
M101-M108 Turn off fast output byte bit 1 (to 8)
M109 Turn off all (8) bits in the fast output byte
M111-M118 Turn on fast output byte bit 1 (to 8)
M121-M128 Pulsate (on/off) fast output byte bit 1 (to 8)
M140 Distance regulation Ã¢â‚¬Å“onÃ¢â‚¬Â (configured by G265)
M141 Distance regulation Ã¢â‚¬Å“offÃ¢â‚¬Â
M150 Delete rest of distance using probe function, for a probe input (one of 16, M151-M168)
M151-M158 Digital input byte 1 bit 1 (to bit 8) is the active probe input
M159 PLC cannot define the bit mask for the probe inputs
M160 PLC can define the bit mask for the probe inputs (up to 16)
M161-M168 Digital input byte 2 bit 1 (to bit 8) is the active probe input
M170 Continue the block processing look ahead of the part program (cancel the M171)
M171 Stop the block processing look ahead of the probe input part program segment (like a G10)
M200 Activate the handwheel operation in the automatic mode (to introduce an offset in the program)
M201-M208 Select the axis (by number from 1 to 8) for the handwheel operation
M209 Activate the handwheel operation in the automatic mode, with PLC control of the axis selection
M210 Deactivate the handwheel input while in the automatic mode
M211 Deactivate this handwheel feature and also remove the handwheel offset (if any)
M213 Spindle 2 clockwise
M214 Spindle 2 counterclockwise
M215 Spindle 2 stop
M280 Switchable spindle/rotary axis, rotary axis on, first combination
M281 Switchable spindle/rotary axis, rotary axis on, second combination
M290 Switchable spindle/rotary axis, spindle enabled, first combination
M291 Switchable spindle/rotary axis, spindle enabled, second combination
Note: Other machine functions, like tool change (usually M06) or coolant control, have their M-code value specified by the PLC application not by the CNC software. Most of the M-code values in above list are configurable.
Other M-codes (up to M699) can be handled by the PLC application based on the particular machine requirements.
This area is for storing reference materials and a basic knowledge base for things I'm interested in - they are mainly for my own use but if you get some use out of them - then awesome!
For the record I am not an authority on any of this and most of this will NOT be my creations, these are things I have found on the Internet and am trying to collect into one place for my own reference.