Jump to content

Guppy

Members
  • Posts

    575
  • Joined

  • Last visited

Everything posted by Guppy

  1. Here's the thing, a real hornet pilot does not need to worry about dead-space in their throttle movement because the jet puts a physical barrier that does not allow the hornet pilot to transition into that space (gate) while in the air. To remember that pulling your throttle all the way into that space will do nothing is as unrealistic as my solution of two separate curves. I'm not arguing realism here, ED has made compromises to bridge the gap for chairforce pilots already. I'm arguing practical implementation given the limitations of consumer hardware as a fair compromise. You don't like it - great... you can learn behaviors a hornet-driver doesn't have to learn. For me, I would like a seamless transition with no dead throttle space based on what is available in the consumer world. Again, if the hornet-driver has to learn to remember not to bring the throttle into the ground idle position then you have a fair point. However, based on everything I can find they dont. The jet doesnt allow it - so therefore it is unrealistic that our throttles do.
  2. randomTOTEN, please correct me if I am wrong, but the actual Hornet physically limits the throttle from going into ground idle position. That is, it does not allow the throttle to transition into ground idle while in the air. So yes real Hornet drivers deal with a limited throw, but they do not deal with a dead space between ground idle position and flight idle positions like we do. Your example of the Q400 is an example of throttles that work like ours do. There is no physical limitation that prevents the throttle move into the ground idle position. So you get the alarm because, in the real jet, you're physically able to move the throttle into a position it is not supposed to be. In the Hornet it physically cannot move into the ground idle position. So very much like the application of the TDC on limited hardware... this to meets that criteria. The Hornet pilot does not perform this task. The Jet automatically puts a physical limiter in. When you take off you're beyond idle, so this transition would occur automatically, but in code. You no longer have to unrealistically worry about where your throttle is if you need to go back into idle and apply a few RPMs to get into position. Not realistic and not something a Hornet pilot needs to worry about. Their throw is what... 10"? x65 is 3" if that. We are bridging the gap between making the game simulate reality and approachable with all hardware. The TDC, which you brought up, is a great example of this. Only likely implemented because of the affiliation ED has with TM. WINWING does not have the TDC issue, TMWH does. So in your argument its a problem with the hardware - go get a WINWING - right? Obviously I'm being facetious because this is a fair compromise and so would be recalibrating the throttle curves. In terms of coding, there is already an "in the air" and "on the ground" state. Give two programable curves in settings; AIR and GROUND. Let the user decide what they want to do and their own fine tuning. I've already been experimenting with the LUA to allow for this, but it isnt MP safe because of the integrity check. Took me 1 hour; anything else you want to comment on effort? Unless of course my understanding is wrong... and that the hornet ALLOWS the pilot to move the throttle into the ground idle position while in the air.
  3. No I think this dialogue is good. I appreciate the candor and the context of all of this. There are inconsistencies here and there are trade-offs for realism that make other things "less" realistic and it is good to talk about such things. As the OP, I can say this. haha :)
  4. I honestly fully disagree with most of your assessments, randomTOTEN; you're trading one piece of 'realism' while having unrealistic throttle behavior on our home throttles. While I do agree that yes, the real jet does limit the throttle throw when in the air it also does not have a dead zone. So the game is forcing us to have an unrealistic deadzone. That is, there is a physical component that moves forward in the throttle in real life that calibrates itself. Our home throttles do not do this and there is no workaround for this unless we are willing to make WoW thrust unrealistic. Case and point - when a hornet driver moves her throttle forward, in the air, thrust is generated. In our case we do not generate thrust - this is unrealistic. Further, most of our throttles, with exception of the WINWING, have very small throttle travel distance vs. the real jet. Losing 5-10% of your throw is a big deal - it is noticeable, particularly when formation flying. I even notice it with the WINWING. Mostly, because I've been aware of it in all of the other throttles I mentioned above (I have quite the collection for test purposes). As far as the effort in cording, its minimal. It's already being done to an extent hence the limiting factor in the air. Should this be of critical importance? No. But as the module matures this could easily be something that is addressed to make a more seamless application of the sim for our home gear.
  5. The issue is not from off to idle. It is from idle to anything. The 1/2" movement that you experienced is exactly what I am talking about. You lose part of your throttle throw when transitioning away from idle in the air. This is not a problem on the ground. The problem you are going to experience now that you have adjusted your curve is that while you move your throttle from idle to X in the air to compensate for this... you are going to be way more sensitive on the ground because on the ground it works without adjusting the curve. Weight on wheels physically changes the lowest RPM in the Hornet IRL. So now you are skipping that "chunk" when you have weight on your wheels. This is from reply 4/5 above
  6. I don't use the TMWH any more - I use the WINWING throttle. But it really does not matter as the behavior is the same for every throttle out there.
  7. Well... this issue is beyond the TMWH and A-10, as I noted in my original post this is an issue across ALL throttles, because of the way it is programmed in game. ED has programmed a dead zone for the first 5-10% of the throttle movement range when in the air. When in reality the game should just recalculate a curve when you are flying. The way it should be coded is the following: I forget the actual values off hand here, so bare with me.... Lets say a throttle range of movement is from 0 to 100. At 0 you are at idle and at 81 you have engaged the afterburner; 80 would be full mil. At 100 you are full forward, full AB. Regardless if you are in the air or the ground 80 will always engage the AB and 100 will always be full burner. The means there needs to be a curve programmed and calculated between weight on wheels and wheels up; the values between idle and full mil need to recalculate. For example: Ground: At 0 you are at 65% RPM [insert applicable RPM] At 80 you are at 100% RPM [insert applicable RPM] At 100 you are at 110% RPM [insert applicable RPM] Air: At 0 you are at 70% RPM [insert applicable RPM] At 80 you are at 100% RPM [insert applicable RPM] At 100 you are at 110% RPM [insert applicable RPM] The values between 0 and 80 need to recalculate. If at 0 you are at 65% RPM, on the ground. Then you get 80 points to play with (0-80). Since we know beyond 80 you engage the AB, which is 100% RPM for full Mil, then we know we have 35% RPM to play with. Dividing that 35% by 80 points would give us 0.43 RPMs per point of throttle movement. For the air is 0.375 RPMs per point. Between full mil and full AB we add 0.5% It would look like the following. [TABLE=width: 163] [TR] [TD=class: xl65]Point[/TD] [TD=class: xl65]Ground RPM%[/TD] [/TR] [TR] [TD=class: xl66, align: right]0[/TD] [TD=class: xl67, align: right]65.0000[/TD] [/TR] [TR] [TD=class: xl66, align: right]1[/TD] [TD=class: xl67, align: right]65.4375[/TD] [/TR] [TR] [TD=class: xl66, align: right]2[/TD] [TD=class: xl67, align: right]65.8750[/TD] [/TR] [TR] [TD=class: xl66, align: right]3[/TD] [TD=class: xl67, align: right]66.3125[/TD] [/TR] [TR] [TD=class: xl66, align: right]4[/TD] [TD=class: xl67, align: right]66.7500[/TD] [/TR] [TR] [TD=class: xl66, align: right]5[/TD] [TD=class: xl67, align: right]67.1875[/TD] [/TR] [TR] [TD=class: xl68]…[/TD] [TD=class: xl69]…[/TD] [/TR] [TR] [TD=class: xl66, align: right]76[/TD] [TD=class: xl67, align: right]98.2500[/TD] [/TR] [TR] [TD=class: xl66, align: right]77[/TD] [TD=class: xl67, align: right]98.6875[/TD] [/TR] [TR] [TD=class: xl66, align: right]78[/TD] [TD=class: xl67, align: right]99.1250[/TD] [/TR] [TR] [TD=class: xl66, align: right]79[/TD] [TD=class: xl67, align: right]99.5625[/TD] [/TR] [TR] [TD=class: xl66, align: right]80[/TD] [TD=class: xl67, align: right]100.0000[/TD] [/TR] [/TABLE] [TABLE=width: 135] [TR] [TD=class: xl65]Point[/TD] [TD=class: xl65]AIR RPM%[/TD] [/TR] [TR] [TD=class: xl66, align: right]0[/TD] [TD=class: xl67, align: right]70.0000[/TD] [/TR] [TR] [TD=class: xl66, align: right]1[/TD] [TD=class: xl67, align: right]70.3750[/TD] [/TR] [TR] [TD=class: xl66, align: right]2[/TD] [TD=class: xl67, align: right]70.7500[/TD] [/TR] [TR] [TD=class: xl66, align: right]3[/TD] [TD=class: xl67, align: right]71.1250[/TD] [/TR] [TR] [TD=class: xl66, align: right]4[/TD] [TD=class: xl67, align: right]71.5000[/TD] [/TR] [TR] [TD=class: xl66, align: right]5[/TD] [TD=class: xl67, align: right]71.8750[/TD] [/TR] [TR] [TD=class: xl68]…[/TD] [TD=class: xl69]…[/TD] [/TR] [TR] [TD=class: xl66, align: right]76[/TD] [TD=class: xl67, align: right]98.5000[/TD] [/TR] [TR] [TD=class: xl66, align: right]77[/TD] [TD=class: xl67, align: right]98.8750[/TD] [/TR] [TR] [TD=class: xl66, align: right]78[/TD] [TD=class: xl67, align: right]99.2500[/TD] [/TR] [TR] [TD=class: xl66, align: right]79[/TD] [TD=class: xl67, align: right]99.6250[/TD] [/TR] [TR] [TD=class: xl66, align: right]80[/TD] [TD=class: xl67, align: right]100.0000[/TD] [/TR] [/TABLE] Values Beyond 80/100% RPM for both air and ground: [TABLE=width: 89] [TR] [TD=class: xl65]Point[/TD] [TD=class: xl65]RPM%[/TD] [/TR] [TR] [TD=class: xl66, align: right]80[/TD] [TD=class: xl67, align: right]100.0[/TD] [/TR] [TR] [TD=class: xl66, align: right]81[/TD] [TD=class: xl67, align: right]100.5[/TD] [/TR] [TR] [TD=class: xl66, align: right]82[/TD] [TD=class: xl67, align: right]101.0[/TD] [/TR] [TR] [TD=class: xl66, align: right]83[/TD] [TD=class: xl67, align: right]101.5[/TD] [/TR] [TR] [TD=class: xl66, align: right]84[/TD] [TD=class: xl67, align: right]102.0[/TD] [/TR] [TR] [TD=class: xl66, align: right]85[/TD] [TD=class: xl67, align: right]102.5[/TD] [/TR] [TR] [TD=class: xl66, align: right]86[/TD] [TD=class: xl67, align: right]103.0[/TD] [/TR] [TR] [TD=class: xl66, align: right]87[/TD] [TD=class: xl67, align: right]103.5[/TD] [/TR] [TR] [TD=class: xl66, align: right]88[/TD] [TD=class: xl67, align: right]104.0[/TD] [/TR] [TR] [TD=class: xl66, align: right]89[/TD] [TD=class: xl67, align: right]104.5[/TD] [/TR] [TR] [TD=class: xl66, align: right]90[/TD] [TD=class: xl67, align: right]105.0[/TD] [/TR] [TR] [TD=class: xl66, align: right]91[/TD] [TD=class: xl67, align: right]105.5[/TD] [/TR] [TR] [TD=class: xl66, align: right]92[/TD] [TD=class: xl67, align: right]106.0[/TD] [/TR] [TR] [TD=class: xl66, align: right]93[/TD] [TD=class: xl67, align: right]106.5[/TD] [/TR] [TR] [TD=class: xl66, align: right]94[/TD] [TD=class: xl67, align: right]107.0[/TD] [/TR] [TR] [TD=class: xl66, align: right]95[/TD] [TD=class: xl67, align: right]107.5[/TD] [/TR] [TR] [TD=class: xl66, align: right]96[/TD] [TD=class: xl67, align: right]108.0[/TD] [/TR] [TR] [TD=class: xl66, align: right]97[/TD] [TD=class: xl67, align: right]108.5[/TD] [/TR] [TR] [TD=class: xl66, align: right]98[/TD] [TD=class: xl67, align: right]109.0[/TD] [/TR] [TR] [TD=class: xl66, align: right]99[/TD] [TD=class: xl67, align: right]109.5[/TD] [/TR] [TR] [TD=class: xl66, align: right]100[/TD] [TD=class: xl67, align: right]110.0[/TD] [/TR] [/TABLE]
  8. Ahhh so weight on wheels in the real aircraft changes the total actual movement of the throttle in real life. For us... the total movement of our physical throttle does not change but to offset this there is a "dead-zone" in flight. I wonder if it would be more practical if this feature was 'removed' since our throttles cannot possibly have this feature and just recalculate the interim values from idle. They can still be whatever they should be IE: ground = 65 air = 70 but those interim values are changed up until the detent for AB; a curve if you will. If I program this in settings I lose ground idle. Basically whenever we move the throttle we should generate thrust. In this case we lose 10% of the movement in the air. This can cause issues when you think you've moved the throttle forward but additional RPMs have not been generated. This makes more sense though - thank you.
  9. Would you care to explain? If I move my throttle IRL the throttle itself should physically move in-game. This is not the case.
  10. Ever since the Hornet was released I have noticed that there is a discrepancy between moving the throttle in-real life with a HOTAS and when the throttle moves in game. In order to understand what I mean... start in the air and move your throttle to idle. VERY slowly move the throttle forward while keeping an eye on the throttle position in game. You'll notice the throttle does not move until ~ 10% of the movement of your HOTAS throttle (warhog). This issue is evident in multiple throttles: Warthog, VPC, WINWING and X56. I have not encountered this issue in other modules -- just the Hornet. Why is this the case -- is it meant to be like this? This can be adjusted by changing the throttle/axis values in settings; but I feel like this should not be needed. I'm curious if this is something others have noticed and is there a fix planned for it or working as intended?
  11. As the title says, I would like to play volleyball with da boys at the beach when choosing not to fly, please.
  12. Thanks BlackLbrary... I ended up going with a different solution. I made a Joystick controller instead. However, my issue running the 7 Arduino Megas is coming up again. It's DCS BIOS HUB and I show all 7 devices connected, but the moment I launch into a mission all Serial connections are gone from DCS BIOS. I have to exit the game, close DCS BIOS and start back over. This leads me to believe DCS BIOS is crashing. All Megas are listed as separate COM ports...so I'm not entirely sure what the issue is. Any ideas? I've tried running as Admin and disabling Antivirus and it is continuing to crash.
  13. Another quick question... Does DCS BIOS have issues running multiple Arduino boards? I'm running 7 MEGAs right now and it seems to crash/auto disconnect/forget all boards. I have to exit the game, restart DCS Bios and start it back up again. ***EDIT*** I'm 90% sure it was my anti virus.*****
  14. Hey guys... Has anyone encountered any issues with the Hornet parking break with DCS bios? I cannot release the brake. Once it is released I can turn it, push it in/out but I cannot release it. Looks like a few people across the forums have asked this question with no resolution. DcsBios::Switch2Pos emergencyParkingBrakePull("EMERGENCY_PARKING_BRAKE_PULL", 8); const byte emergencyParkingBrakeRotatePins[3] = {9, 10}; DcsBios::SwitchMultiPos emergencyParkingBrakeRotate("EMERGENCY_PARKING_BRAKE_ROTATE", emergencyParkingBrakeRotatePins, 3);
  15. Fri - there are reports of new pilots having more endurance than older pilots. You're just throwing an arbitrary rule/experience system in there. This is not an MMORPG. Also regarding "Cheating". I'm not having a philosophical debate with you on what cheating is. I have already provided you the definition of cheating. You are applying elaborate personal rules on what "cheating" is to you and pushing that onto everyone else. IE: If you bind a non-HOTAS command to your HOTAS you are a cheater. Even though that is your personal philosophy of cheating. I think you would have much more success with this argument if you said, "I [you] feel like I am cheating if I bind a non-HOTAS command to my HOTAS. I recognize this is allowed, but for me it does not feel like a genuine experience". Instead you are just throwing around "cheater" to everyone who doesnt fall into your definition. That is an absolute argument.
  16. Long shot, but have you tried reducing the speed in TIR and increasing the smoothness? (sliders up at the top of the application) If your speed is high and there is not a lot of smoothness it can make the frames go wonky sometimes.
  17. Very kind words sir. There will be a few new posts coming so stay tuned. More enhancements! :joystick::joystick:
  18. As a FYI for those of you waiting for their unit or have not made a decision to move forward with purchasing... IF you are located in the USA I am selling my PointCtrl unit at a discount. Feel free to PM me and we can chat. **No longer available and Miles you'll be pleased to know they are still wanting an additional unit from you so you won't need to worry about a lost sale**
  19. In Fri's world of cheating vs. realism that is a real argument. Do I think it is, no. But if you read everything Fri has stated then it becomes the reality of his position. [if you cannot do it in real life you are cheating in the game]. Fri, two things. First, I did not make an insult. There is nothing insulting about this statement, "Fri - I hope when you “die” in the simulation you never boot up again. In real life you only have one life and I hope you aren’t cheating death in game." Secondly, your suggestion is just a workaround around for death by implementing a system to make death have a penalty, but it's still not death and will continue to govern rash decisions. This is no different than someone binding a switch that is not a HOTAS command to their HOTAS as a way to make it a bit easier than having to reach for a mouse and flick a switch; VR or not. It's cheating by your definition as it's not what would actually happen; you'd be dead. This is what happens when you make an absolute argument, you paint yourself in a corner and that's what you're doing here. If you believe people are cheating then please write ED a letter asking them to remove ability to bind custom mappings to a HOTAS.
  20. Fri - I hope when you “die” in the simulation you never boot up again. In real life you only have one life and I hope you aren’t cheating death in game.
  21. One correction to this, detecting the change from 99 to 10* and interpreting it as 100. I might try to mess around with the code and append a 0 when the value is 10... but that will be after I have several beers. This has been exhausting, ha.
  22. 100 it looks like a 2 digit 7-segment, but it displays 100.
  23. This is the working sketch I have. Please know that I have placeholders for Max, Int and BINGO but removed the DCSBIOS code for them to make troubleshooting easier. The base of this code is from dracosb who has shared his code on the forum before. /* Tell DCS-BIOS to use a serial connection and use interrupt-driven communication. The main program will be interrupted to prioritize processing incoming data. This should work on any Arduino that has an ATMega328 controller (Uno, Pro Mini, many others). */ #define MUX_Address 0x70 // TCA9548A Address #define DCSBIOS_IRQ_SERIAL #include "Wire.h" #include <U8glib.h> #include "DcsBios.h" const u8g_fntpgm_uint8_t Tahoma_DCS_18[2310] U8G_FONT_SECTION("Tahoma_DCS_18") = { //start of font 0,24,28,0,251,18,4,37,8,230,33,97,0,19,251,19, 251,2,18,18,8,3,0,192,192,192,192,192,192,192,192,192, 192,192,192,192,0,0,0,192,192,6,7,7,10,1,12,204, 204,204,204,204,204,204,15,18,36,17,1,0,3,24,3,24, 7,48,6,48,6,48,63,254,63,254,12,96,12,96,12,96, 12,96,255,248,255,248,24,192,24,192,25,192,49,128,49,128, 11,22,44,13,1,252,4,0,4,0,4,0,31,128,127,192, 228,64,196,0,196,0,228,0,124,0,63,128,7,192,4,96, 4,96,4,96,196,192,255,192,127,0,4,0,4,0,4,0, 4,0,21,18,54,23,1,0,60,3,0,126,6,0,231,6, 0,195,12,0,195,12,0,195,24,0,195,24,0,231,48,0, 126,49,224,60,99,240,0,103,56,0,198,24,0,198,24,1, 134,24,1,134,24,3,7,56,3,3,240,6,1,224,15,18, 36,16,1,0,31,0,63,128,113,192,96,192,96,192,96,192, 49,128,31,24,30,24,119,24,99,152,193,216,192,240,192,112, 192,56,112,252,127,206,31,6,2,7,7,5,1,12,192,192, 192,192,192,192,192,7,24,24,9,1,251,14,28,24,48,48, 96,96,224,192,192,192,192,192,192,192,192,224,96,96,48,48, 24,28,14,7,24,24,9,1,251,224,112,48,24,24,12,12, 14,6,6,6,6,6,6,6,6,14,12,12,24,24,48,112, 224,10,11,22,13,2,8,12,0,12,0,140,64,237,192,63, 0,12,0,63,0,237,192,140,64,12,0,12,0,14,14,28, 17,2,1,3,0,3,0,3,0,3,0,3,0,3,0,255, 252,255,252,3,0,3,0,3,0,3,0,3,0,3,0,5, 8,8,7,1,251,56,48,112,112,96,96,192,192,7,2,2, 9,1,7,254,254,3,3,3,7,2,0,224,224,224,9,23, 46,9,0,252,1,128,1,128,3,0,3,0,3,0,6,0, 6,0,6,0,12,0,12,0,12,0,28,0,24,0,24,0, 24,0,48,0,48,0,48,0,96,0,96,0,96,0,192,0, 192,0,11,18,36,13,1,0,31,0,63,128,113,192,96,192, 192,96,192,96,192,96,192,96,192,96,192,96,192,96,192,96, 192,96,192,96,96,192,113,192,63,128,31,0,8,18,18,13, 3,0,24,24,248,248,24,24,24,24,24,24,24,24,24,24, 24,24,255,255,11,18,36,13,1,0,62,0,255,128,225,128, 128,192,0,192,0,192,0,192,1,192,1,128,3,0,7,0, 14,0,28,0,56,0,112,0,224,0,255,224,255,224,11,18, 36,13,1,0,63,0,255,192,224,224,128,96,0,96,0,96, 1,192,15,128,15,0,0,192,0,96,0,96,0,96,0,96, 128,224,225,192,255,128,63,0,12,18,36,13,0,0,0,192, 1,192,3,192,6,192,12,192,24,192,56,192,48,192,96,192, 192,192,255,240,255,240,0,192,0,192,0,192,0,192,0,192, 0,192,10,18,36,13,1,0,127,192,127,192,96,0,96,0, 96,0,96,0,96,0,126,0,127,128,1,128,0,192,0,192, 0,192,0,192,1,192,195,128,255,0,126,0,11,18,36,13, 1,0,7,192,31,192,56,0,112,0,96,0,96,0,192,0, 223,0,255,192,224,192,192,96,192,96,192,96,192,96,96,96, 112,192,63,128,31,0,11,18,36,13,1,0,255,224,255,224, 0,96,0,224,0,192,1,128,1,128,3,0,3,0,6,0, 6,0,12,0,12,0,24,0,24,0,48,0,48,0,96,0, 11,18,36,13,1,0,31,0,127,192,96,224,192,96,192,96, 192,96,224,192,121,128,31,0,103,128,96,192,192,96,192,96, 192,96,224,96,112,192,127,128,31,0,11,18,36,13,1,0, 31,0,63,128,97,192,192,192,192,96,192,96,192,96,192,96, 96,224,127,224,31,96,0,96,0,192,0,192,1,192,3,128, 63,0,62,0,3,13,13,8,3,0,224,224,224,0,0,0, 0,0,0,0,224,224,224,5,18,18,8,2,251,112,112,112, 0,0,0,0,0,0,0,56,48,112,112,96,96,192,192,13, 13,26,17,2,1,0,8,0,56,1,240,7,192,30,0,120, 0,224,0,120,0,30,0,7,192,1,240,0,56,0,8,13, 7,14,17,2,4,255,248,255,248,0,0,0,0,0,0,255, 248,255,248,13,13,26,17,3,1,128,0,224,0,124,0,31, 0,3,192,0,240,0,56,0,240,3,192,31,0,124,0,224, 0,128,0,9,18,36,11,1,0,126,0,255,0,131,128,1, 128,1,128,1,128,1,128,3,0,7,0,14,0,28,0,24, 0,24,0,24,0,0,0,0,0,24,0,24,0,9,9,18, 11,1,9,62,0,127,0,227,128,193,128,193,128,193,128,227, 128,127,0,62,0,14,18,36,14,0,0,7,128,7,128,7, 128,4,128,12,192,12,192,12,192,24,96,24,96,24,96,48, 48,63,240,63,240,96,24,96,24,96,24,224,28,192,12,11, 18,36,14,2,0,255,0,255,128,193,192,192,192,192,192,192, 192,193,128,255,0,255,128,192,192,192,96,192,96,192,96,192, 96,192,224,193,192,255,128,255,0,12,18,36,14,1,0,15, 192,31,240,56,48,112,16,96,0,224,0,192,0,192,0,192, 0,192,0,192,0,192,0,224,0,96,0,112,16,56,48,31, 240,15,192,13,18,36,16,2,0,255,0,255,192,193,224,192, 112,192,48,192,56,192,24,192,24,192,24,192,24,192,24,192, 24,192,48,192,48,192,112,193,224,255,192,255,0,10,18,36, 13,2,0,255,192,255,192,192,0,192,0,192,0,192,0,192, 0,255,128,255,128,192,0,192,0,192,0,192,0,192,0,192, 0,192,0,255,192,255,192,11,18,36,13,2,0,255,224,255, 224,192,0,192,0,192,0,192,0,192,0,255,224,255,224,192, 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, 0,14,18,36,16,1,0,7,240,31,252,56,28,112,4,96, 0,224,0,192,0,192,0,192,0,192,252,192,252,192,12,224, 12,96,12,112,12,60,12,31,252,7,224,12,18,36,16,2, 0,192,48,192,48,192,48,192,48,192,48,192,48,192,48,255, 240,255,240,192,48,192,48,192,48,192,48,192,48,192,48,192, 48,192,48,192,48,6,18,18,9,1,0,252,252,48,48,48, 48,48,48,48,48,48,48,48,48,48,48,252,252,8,18,18, 10,0,0,63,63,3,3,3,3,3,3,3,3,3,3,3, 3,3,135,254,252,12,18,36,14,2,0,192,112,192,224,193, 192,195,128,199,0,198,0,204,0,216,0,248,0,252,0,206, 0,198,0,195,0,195,128,193,128,192,192,192,224,192,112,10, 18,36,12,2,0,192,0,192,0,192,0,192,0,192,0,192, 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, 0,192,0,192,0,255,192,255,192,15,18,36,19,2,0,224, 14,240,30,240,30,248,62,216,54,220,54,204,102,204,102,198, 198,198,198,195,134,195,134,193,6,192,6,192,6,192,6,192, 6,192,6,12,18,36,16,2,0,224,48,240,48,240,48,248, 48,216,48,220,48,204,48,206,48,198,48,199,48,195,48,195, 176,193,176,193,240,192,240,192,240,192,112,192,112,15,18,36, 17,1,0,7,192,31,240,56,56,112,28,96,12,224,14,192, 6,192,6,192,6,192,6,192,6,192,6,224,14,96,12,112, 28,56,56,31,240,7,192,11,18,36,13,2,0,255,0,255, 128,193,192,192,224,192,96,192,96,192,96,192,224,193,192,255, 128,254,0,192,0,192,0,192,0,192,0,192,0,192,0,192, 0,15,23,46,17,1,251,7,192,31,240,56,56,112,28,96, 12,224,14,192,6,192,6,192,6,192,6,192,6,192,6,224, 14,96,12,112,28,56,56,31,240,7,192,0,192,0,192,0, 96,0,126,0,62,13,18,36,15,2,0,255,0,255,192,192, 192,192,96,192,96,192,96,192,96,192,192,193,192,255,128,254, 0,195,0,195,128,193,128,192,192,192,96,192,112,192,56,11, 18,36,13,1,0,31,128,127,192,96,192,192,64,192,0,192, 0,224,0,120,0,127,0,31,192,1,224,0,96,0,96,0, 96,128,96,224,192,255,128,63,0,14,18,36,14,0,0,255, 252,255,252,3,0,3,0,3,0,3,0,3,0,3,0,3, 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, 0,3,0,12,18,36,16,2,0,192,48,192,48,192,48,192, 48,192,48,192,48,192,48,192,48,192,48,192,48,192,48,192, 48,192,48,192,48,224,112,112,224,63,192,31,128,14,18,36, 14,0,0,192,12,224,28,96,24,96,24,96,24,48,48,48, 48,48,48,24,96,24,96,24,96,12,192,12,192,12,192,7, 128,7,128,7,128,3,0,22,18,54,22,0,0,192,48,12, 192,120,12,96,120,24,96,120,24,96,120,24,96,204,24,48, 204,48,48,204,48,48,140,48,48,134,48,25,134,96,25,134, 96,25,2,96,9,2,64,15,3,192,15,3,192,14,1,192, 6,1,128,14,18,36,14,0,0,192,12,96,24,48,48,48, 48,24,96,12,192,12,192,7,128,3,0,3,0,7,128,12, 192,12,192,24,96,48,48,48,48,96,24,192,12,14,18,36, 14,0,0,224,28,96,24,112,56,48,48,24,96,24,224,12, 192,15,192,7,128,3,0,3,0,3,0,3,0,3,0,3, 0,3,0,3,0,3,0,11,18,36,13,1,0,255,224,255, 224,0,96,0,192,1,128,1,128,3,0,6,0,6,0,12, 0,28,0,24,0,48,0,48,0,96,0,192,0,255,224,255, 224,6,24,24,9,2,251,252,252,192,192,192,192,192,192,192, 192,192,192,192,192,192,192,192,192,192,192,192,192,252,252,8, 23,23,9,1,252,192,192,96,96,96,48,48,48,24,24,24, 28,12,12,12,6,6,6,3,3,3,1,1,6,24,24,9, 1,251,252,252,12,12,12,12,12,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,252,252,14,9,18,17,2,9, 3,0,7,128,7,128,12,192,24,96,48,48,48,48,96,24, 192,12,13,2,4,13,0,252,255,248,255,248,5,4,4,13, 3,15,224,112,48,24,10,13,26,13,1,0,63,0,127,128, 65,192,0,192,0,192,31,192,127,192,240,192,192,192,192,192, 227,192,127,192,60,192}; //end of font char* Bingo; char* FuelMax; char* FuelInt; char* RpmL; char tmp_string[8]; U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_FAST); void tcaselect(uint8_t i2c_bus) { if (i2c_bus > 7) return; Wire.beginTransmission(MUX_Address); Wire.write(1 << i2c_bus); Wire.endTransmission(); } /* paste code snippets from the reference documentation here */ /*------------------------------ Bingo Display ------------------------------------*/ void onIfeiBingoChange(char* newValue) { /* your code here */ Bingo = newValue; } DcsBios::StringBuffer<5> ifeiBingoBuffer(0x7462, onIfeiBingoChange); /*--------------------------------------------------------------------------------*/ void onIfeiRpmLChange(char* newValue) { /* your code here */ RpmL = newValue; } DcsBios::StringBuffer<2> ifeiRpmLBuffer(0x7494, onIfeiRpmLChange); /*--------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------*/ void setup() { DisplayInit(); DcsBios::setup(); } void DisplayInit() { for (int i = 0; i < 7; i++) { tcaselect(i); u8g.firstPage(); do { u8g.setFont(Tahoma_DCS_18); u8g.begin(); } while ( u8g.nextPage() ); } } void loop() { DisplayFuelRpm(); DcsBios::loop(); } void DisplayFuelRpm () { tcaselect(0); u8g.firstPage(); do { u8g.drawStr(30, 30, FuelMax ); } while ( u8g.nextPage() ); tcaselect(1); u8g.firstPage(); do { u8g.drawStr(30, 30, FuelInt ); } while ( u8g.nextPage() ); tcaselect(2); u8g.firstPage(); do { u8g.drawStr(40, 30, Bingo ); } while ( u8g.nextPage() ); tcaselect(3); u8g.firstPage(); do { u8g.drawStr(30, 30, RpmL ); } while ( u8g.nextPage() ); }
  24. 100 is a legitimate value for the IFEI. I just tested it in F18.
  25. Thanks No1sonuk... this totally makes sense. however, regardless of where I put this I'm getting an exit status 1 "expected primary-expression before 'if'. Here is where i've been trying to place it: Above this I have my custom font, library, etc. char* RpmL; char tmp_string[8]; U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_FAST); void tcaselect(uint8_t i2c_bus) { if (i2c_bus > 7) return; Wire.beginTransmission(MUX_Address); Wire.write(1 << i2c_bus); Wire.endTransmission(); } /* paste code snippets from the reference documentation here */ /*--------------------------------------------------------------------------------*/ void onIfeiRpmLChange(char* newValue) { /* your code here */ RpmL = newValue; } DcsBios::StringBuffer<2> ifeiRpmLBuffer(0x7494, onIfeiRpmLChange); I tried your code (or something similar to it) in both where I have RpmL = and StringBuffer<#> with no luck.
×
×
  • Create New...