Page 1 of 2 12 LastLast
Results 1 to 20 of 33

Thread: First crack at DI

  1. #1
    Tuner in Training
    Join Date
    Aug 2022
    Posts
    24

    First crack at DI

    2015 Yukon Denali, DOD delete with Cam pictured, and headers, and a 2800 circle D though that shouldnt matter yet as this is just a startup tune. It had some exhaust leaks which we didnt fix until after the laptop died so that could explain the fuel trims. The logging format is from an E38 ECM of mine so may not have all the PIDS i need. It has a misfire off idle with a little bit of load but not sure if its ignition or fuel. trims never went over 10%. Headers were dimly glowing at idle though. Cats are going on as soon as they show up. Rest of exhaust is stock

    ****Edit-just noticed it idles at -5*. I'm guessing in got the torque tables wrong.

    ****Edit 2 added stock read file
    --------------
    Attached Images Attached Images
    Attached Files Attached Files
    Last edited by NoStepOnSnek; 11-22-2023 at 09:20 AM.

  2. #2
    Senior Tuner
    Join Date
    Mar 2022
    Location
    Indiana
    Posts
    2,938
    You forgot VCP spark. Zero it out. Do your adjustments at the main spark tables for the couple of degrees the cam moves.

  3. #3
    Tuner in Training
    Join Date
    Aug 2022
    Posts
    24
    Copy that. I added the stock file for comparison, could the VCP table jack up the idle spark that much? I'm changing it either way but im curious.

  4. #4
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,802
    Just because Brian posted the cam position it did best at on a 5.3 does't mean it'll necessarily want that in a 6.2l. Plus the tune itself can change where the cam needs to be or vice versa the cam can define the tune. I find a lot of Brian's cams do good with some retard in the lower loads for mpg's. Your limiter will decide a lot of this.

    The way GM's cam timing works - and Verlon can 100% state this correctly - is basically 0 degrees is either 2 or 3 degrees advanced depending on the phaser part number that was used. Basically your cam timing settings are putting the cam back to true 0 degrees in the higher rpms. I would think it would want more retard than that, but wouldn't know for sure without a dyno or dialed in VE model. You can actually use the VE to see where it's going to flow more air if it's been FULLY dialed in for the moving cam. I often use the VE to advance or retard a cam with varying loads.

    My understanding as I have learned it, painstakingly I might add on the torque model is this - the map side basically controls the timing at it's core at idle. There is an offset in the map side. The offset is directly defined by how much you changed the VE model and MAF curve (if you lowered the idle area of the VE table in the idle regions say 30% then that's how much you need to increase the map model and then add in the MAF increase for the same corresponding idle cells in those corresponding regions of the torque model). The map side will define the "base torque defined as DELIVERED TORQUE for idle". It then uses that and matches it with the airmass side to get the TIMING. The TORQUE itself is defined by the airmass side. Confusing right since it seems like I just said the opposite??? Oh wait it gets better. Throttle control "usually" is defined by the map side, but it will use the airmass side to help define how much it needs to close. You have to walk a fine line not to close the throttle too much and get the right torque while still getting the timing you want. Curvatures affect things as much as anything else. You can put a curvature into the airmass side, but the map side has to stay flat, so to get everything "right" you have to use the curvatures to balance both out to one another. Also keep in mind even though IT WILL change with torque model changes, fueling needs to be nearly 100% dialed in before making many changes to the torque models.

    The jist of all that? You can't just lower the model to get what you're after like you did. This is also why I've really been pushing for a good torque math formula. Braxton almost has one though Basically you'll need to think about what a cam does and how it affects power for the given loads and then try to change the model as best you can for that on the "maf side - and think about that (maf side)" then work the map side back close then balance them using the airmass side and map alike.

    As far as the VCP, IF you run some retard in the lower loads you'll want to run some cam controlled timing. This will allow you to get better mpg's with the lower dynamic compression obtained from the cam retard.
    Last edited by GHuggins; 11-22-2023 at 02:51 PM.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  5. #5
    Tuner in Training
    Join Date
    Apr 2020
    Location
    MO
    Posts
    18

    cam timing

    Question on cam timing. I have a BTR V2 stage 1 truck cam. I setup my retard from the website. In the attached log I'm making what is saying good power, then suddenly drops actual and commanded Torque. You can see this at 10:22.323 and again at 10:29.080.

    This is also right at the rpm when i start retarding the cam position from 0. The scanner PID's also confirm the loss of power soon as the cam retards.

    Also from what the scanner was saying, Torque was over what my DD and VT tables were commanding. I have since tried to match up VT with what the scanner is saying in all rpm and airmass areas.

    Any thoughts?
    Attached Files Attached Files

  6. #6
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,802
    Quote Originally Posted by Landolt View Post
    Question on cam timing. I have a BTR V2 stage 1 truck cam. I setup my retard from the website. In the attached log I'm making what is saying good power, then suddenly drops actual and commanded Torque. You can see this at 10:22.323 and again at 10:29.080.

    This is also right at the rpm when i start retarding the cam position from 0. The scanner PID's also confirm the loss of power soon as the cam retards.

    Also from what the scanner was saying, Torque was over what my DD and VT tables were commanding. I have since tried to match up VT with what the scanner is saying in all rpm and airmass areas.

    Any thoughts?
    In your case you're running boost. May be the cam needs to stay advanced or it's just something torque reporting related. Quick and easy way as long as you're sure fueling is staying where it needs to with different temps (density table has to be dialed in for that) is to change the cam timing and do a wot pull. If you see the MAF leaning out then you added airflow and most likely power. If not, then possibly just a reporting issue. A dyno is the true know for sure device.

    I've learned not to worry about DD torque settings and to adjust the DD based off of throttle error. I've had some really high DD settings for initial throttle opening on some odd setups that nobody else could get to open and after looking at how the OE is adjusting things now with somewhat like builds from the factory I'm seeing stuff really close from them. Look at a 2650 build or even a stock 6.2 cal from them on the newer cals. Axle goes really high on initial take off settings. Main thing is for DD to not limit when commanded to open and keep things under control where need be. There are other background tables that completely change all of this too, so I don't worry about the actual settings anymore. For example there are 2 background tables that will cut power based off of acceleration rate and they make a big difference when taking off from a dead stop.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  7. #7
    Tuner in Training
    Join Date
    Apr 2020
    Location
    MO
    Posts
    18
    I believe you have already altered the background tables you speak of when you had me do a write entire, on another thread.

    I did bump up the VT tables to match, you can see 2nd gear was slipping for a bit. Bumping up the VT should help this as I understand it.

    Also got my SCIAP sensor mounted and plumbed in. Support just got me the linear and offset tables, so I'm going to do the re-pinning soon. got a tune already setup with SCIAP settings to load in when wiring is complete.

  8. #8
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,802
    Use delivered torque and plug that in for 1200 rpms up on the airmass side. That'll get the airmass side of the model close to right for pressure control. Make sure to set the airmass map setting in the torque model section to max and the map model setting should be left stock. This way it'll use the torque model into boost while still shifting the transmission correctly. If you think it's slipping avoid that gear or any lower for any pulls until the model is right. Doesn't take much to kill a clutch pack. Might even want to add 15 from 1200 up just to be safe for the moment.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  9. #9
    Tuner in Training
    Join Date
    Apr 2020
    Location
    MO
    Posts
    18

    WOT with no cam retard

    So had to do a log after I zeroed out cam retard and adjusted the VT to what the scanner was saying. I believe the cam Zeroed out made that torque dip go away, and the higher VT kept the tranny from slipping. Truck is driving and shifting great right now. Almost scared to do the SCIAP, but I still want that linear throttle so I will see it through.

    Attached is the WOT pull and the tune file. only difference in the tune from the last file is... richened up PE to .84 instead of .86, then raised VT in areas that were reading below on last log, and Cam zero retard.

    I just don't think that this truck is making what the scanner is saying, 748 lb-ft is a lot for only a cammed 5.3 on 6 lbs of boost 93 pump gas and stock exhaust manifolds.

    Although I can run head-to-head with a stock V8 Camaro in this heavy ass 4x4 crew cab.

    Next will be testing a new math for making my EOI exactly where I want it to stop spraying, then test what crank angle will make the best power, and fuel economy at cruise. Right now, is mostly before 180 but want to see if I can learn anything.
    Attached Files Attached Files

  10. #10
    Tuner in Training
    Join Date
    Apr 2020
    Location
    MO
    Posts
    18
    Quote Originally Posted by GHuggins View Post
    Use delivered torque and plug that in for 1200 rpms up on the airmass side. That'll get the airmass side of the model close to right for pressure control. Make sure to set the airmass map setting in the torque model section to max and the map model setting should be left stock. This way it'll use the torque model into boost while still shifting the transmission correctly. If you think it's slipping avoid that gear or any lower for any pulls until the model is right. Doesn't take much to kill a clutch pack. Might even want to add 15 from 1200 up just to be safe for the moment.
    Thanks for the ongoing tuning help, I will try to create a model based off of your suggestions.

  11. #11
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,802
    Truck ins't making what's reported. The 5.3's have always had higher than realistic torque models. Part of the reason using a dyno won't work on them. There are multipliers in the background that the transmission use, so just use reported to stick with the factory skewing.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  12. #12
    Tuner in Training
    Join Date
    Aug 2022
    Posts
    24
    Man, this got a bit hyjacked. lol Maybe I'm a bit in over my head. I was pretty confident on the E38s but this vvt torque based stuff is killing me as ive only done three of my own cars non vvt E38s. I zeroed VCP and ill see what that leaves me on sunday when im at the truck again.
    Last edited by NoStepOnSnek; 11-24-2023 at 09:43 PM.

  13. #13
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,802
    Quote Originally Posted by NoStepOnSnek View Post
    Man, this got a bit hyjacked. lol Maybe I'm a bit in over my head. I was pretty confident on the E38s but this vvt torque based stuff is killing me as ive only done three of my own cars non vvt E38s. I zeroed VCP and ill see what that leaves me on sunday when im at the truck again.
    A little, but you should be able to use the information too - it pertains to all of these VCP is a spark adder for cam movement. It shouldn't come into play at idle. Piston rattle is a puller, but is only used on startup I believe. Then you have ECT and IAT tables that do both. Your problem's in the torque model. It's not "requesting" the correct timing. Idle settings go hand and hand along with torque controllers. Air models need to be right after getting model close enough to not fry anything, so timing slightly positive then do final torque model corrections after the air models are dialed in.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  14. #14
    Advanced Tuner
    Join Date
    Feb 2008
    Posts
    665
    Quote Originally Posted by GHuggins View Post

    My understanding as I have learned it, painstakingly I might add on the torque model is this - the map side basically controls the timing at it's core at idle. There is an offset in the map side. The offset is directly defined by how much you changed the VE model and MAF curve (if you lowered the idle area of the VE table in the idle regions say 30% then that's how much you need to increase the map model and then add in the MAF increase for the same corresponding idle cells in those corresponding regions of the torque model). The map side will define the "base torque defined as DELIVERED TORQUE for idle". It then uses that and matches it with the airmass side to get the TIMING. The TORQUE itself is defined by the airmass side. Confusing right since it seems like I just said the opposite??? Oh wait it gets better. Throttle control "usually" is defined by the map side, but it will use the airmass side to help define how much it needs to close. You have to walk a fine line not to close the throttle too much and get the right torque while still getting the timing you want. Curvatures affect things as much as anything else. You can put a curvature into the airmass side, but the map side has to stay flat, so to get everything "right" you have to use the curvatures to balance both out to one another. Also keep in mind even though IT WILL change with torque model changes, fueling needs to be nearly 100% dialed in before making many changes to the torque models.

    The jist of all that? You can't just lower the model to get what you're after like you did. This is also why I've really been pushing for a good torque math formula. Braxton almost has one though Basically you'll need to think about what a cam does and how it affects power for the given loads and then try to change the model as best you can for that on the "maf side - and think about that (maf side)" then work the map side back close then balance them using the airmass side and map alike.
    .

    Did you say increase the torque model in the idle load regions??? I am just very curious is all sir as I have tuned quite a number of gen 5 cammed applications now and going at with the approach of always reducing the torque model in the idle areas. I have had very good success with nice smooth idle and positive timing numbers. In fact, idle so smooth I have had a few guys upset because they said it didn't "chop chop enough". Lol.
    2017 Silverado LTZ

  15. #15
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,802
    Quote Originally Posted by KLUG'S SS View Post
    Did you say increase the torque model in the idle load regions??? I am just very curious is all sir as I have tuned quite a number of gen 5 cammed applications now and going at with the approach of always reducing the torque model in the idle areas. I have had very good success with nice smooth idle and positive timing numbers. In fact, idle so smooth I have had a few guys upset because they said it didn't "chop chop enough". Lol.
    I've had those problems too with them being too smooth - other idle tables can help to get that back and I'm not talking about just the adaptives either, but as long as reported torque is in the + to mid 20's range and requested is less than 100 she'll chop just fine. Torque isn't linear. Just look at the OE more retarded cam positions. They're very curved. Getting everything right on the airmass and map side is what's hard to do. This is one I'm working on right now It's a work in progress. Still need to finish dialing in the density table, but first have to finish getting the torque model right and the O2 settings as the wideband was just put back in after I took the rear O2's out of the as built configuration and it looks like they're a little off at idle - not reacting quick enough. These torque model pics are after adjusting from the log too. Should also note that according to the customer this one has a nice chop too. This is one of several I've got going on right now. As long as the attachments show up this is what I'm talking about when I say to not just lower the maps, but to instead shape it how it needs to be.

    airmass torque btr.jpg
    Map torque btr.jpg
    log.jpg
    Last edited by GHuggins; 11-30-2023 at 02:14 PM.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  16. #16
    Advanced Tuner
    Join Date
    Feb 2008
    Posts
    665
    Quote Originally Posted by GHuggins View Post
    I've had those problems too with them being too smooth - other idle tables can help to get that back and I'm not talking about just the adaptives either, but as long as reported torque is in the + to mid 20's range and requested is less than 100 she'll chop just fine. Torque isn't linear. Just look at the OE more retarded cam positions. They're very curved. Getting everything right on the airmass and map side is what's hard to do. This is one I'm working on right now It's a work in progress. Still need to finish dialing in the density table, but first have to finish getting the torque model right and the O2 settings as the wideband was just put back in after I took the rear O2's out of the as built configuration and it looks like they're a little off at idle - not reacting quick enough. These torque model pics are after adjusting from the log too. Should also note that according to the customer this one has a nice chop too. This is one of several I've got going on right now. As long as the attachments show up this is what I'm talking about when I say to not just lower the maps, but to instead shape it how it needs to be.

    airmass torque btr.jpg
    Map torque btr.jpg
    log.jpg
    Nice!! Yes sir I completely understand what you are saying now! I mean it ALWAYS has been important of course even going back to gen 3 LS applications but man oh man is it ever absolutely critical now to nail down the airflow models like close to perfect as possible.

    I typically have pretty stable idle on cammed gen 5 stuff but I still get some sawtooth timing at idle on some of them, just the adaptive hard at work. They seem to still idle pretty decent and not all wonky when I am seeing the jagged timing but being a perfectionist bastard Lol it still bugs the hell out of me. I'm sure my shaping of what I am doing with the torque model is the culprit. I am very diligent always with my airflow modeling and fueling is very very close when I am done so I know that definitely isn't an issue.
    2017 Silverado LTZ

  17. #17
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,802
    The density table can play into fuel and idle control more than anything else in the tune. You'll see it come into play with cold start to hot idle fuel and torque readings.

    I'm like you. I'm a nut for wanting things right and probably go too far trying to give people every little detail of personalization that they want as far as drivability and everything goes. This is also why I've gone to great lengths reaching out to coders, engineers and so on to get into the background stuff. Had a couple here recently where the post O2 test were causing them to get stuck rich during cold start warm ups. Found out the test run no matter what and is why several "as built" settings have to be changed.

    Torque modeling will never be perfect nor accurate. It's just plain impossible without an engine dyno and special sub routines to get that even then. There are formulas you can come up with to help get the general shape and to get things close, but you'll still need to plug the offset created by the VE and MAF tables back into the models after the fact plus still raise or lower things to get it right. People just don't seem to realize that dialing in the VE IS ACTUALLY what throws the models out. I've gone as far as reaching out to different people including engineers to get help with formulas and to have a tool developed to plug the offset back into the tables. Even with that, it's still not right and requires some "hand shaping"... Nevertheless it's closer than just shifting or guessing at things.

    Again to the OP. You should be able to use all of this to help with yours
    Last edited by GHuggins; 11-30-2023 at 06:11 PM.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  18. #18
    Advanced Tuner
    Join Date
    Feb 2008
    Posts
    665
    So yea to NoStepOnSnek with mine and GHuggins conversation back and forth you should definitely be able to take away some valuable information from this thread.
    2017 Silverado LTZ

  19. #19
    Tuner in Training
    Join Date
    Aug 2022
    Posts
    24
    So my VE Air and MAF air are 50 apart. If I bring that in with MAF adjustment my fuel trims get jacked and it throws off pedal torque. This is the cleanest ive gotten it, But decel is kinda rough off of a rev trying to catch the idle. STFT shoot to -25 briefly during this. This is where im at right now. And as far as all the torque PIDS what is supposed to match exactly? Ive gotten the VE adjusted enough to where it has a good idle, though slightly pulling timing. And it seems no matter what i do, zero pedal torque settles at -35

    LatestDENALIlogActual.hpl

    AlexDenaliREV10+MAF.hpt
    Last edited by NoStepOnSnek; 12-04-2023 at 12:23 AM.

  20. #20
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,802
    So my VE Air and MAF air are 50 apart. If I bring that in with MAF adjustment my fuel trims get jacked and it throws off pedal torque. This is the cleanest ive gotten it, But decel is kinda rough off of a rev trying to catch the idle. STFT shoot to -25 briefly during this. This is where im at right now. And as far as all the torque PIDS what is supposed to match exactly? Ive gotten the VE adjusted enough to where it has a good idle, though slightly pulling timing. And it seems no matter what i do, zero pedal torque settles at -35

    LatestDENALIlogActual.hpl
    This is why I said what we were talking about would help you too. If you look at your torque model, it only appears that you are lowering the whole left side considerably over and over again trying to get the timing up and it's not coming up. You have to shape it. Twist it, manipulate it to get it to command higher timing. Ignition timing needs to be in the low teens at the least. The torque model is hard to get right or even close to right. I honestly don't think the OE actually tuned them in at idle using a dyno like what's claimed. There's no way in the world an engine can make more torque at idle high timing at full load than it does at peak cylinder pressure. Goes against everything and probably why it's such a pain to dial in at idle.

    One other thing that just stood out to me in your log. How are you dialing in your VE without logging barometric pressure. The row axis are pressure ratio which is baro/map or map/baro. Don't know, can't remember right off, but either way baro is needed.

    You're welcome to try this one, make sure to do the throttle clean reset then see where this one is idling timing wise for you. Also you really need to dial in your VE and get it as close as possible before you can really evaluate torque model changes.
    Attached Files Attached Files
    Last edited by GHuggins; 12-04-2023 at 07:49 PM.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC