Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

50 Excellent

About MrOnak

  • Rank
    Sr. Spacecraft Engineer

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi everyone, it's been a long long time. I need help. My KSP MKS 1.4.5 playthrough has now finally reached the point where I want to go on a Grand Tour and turn Kerbals into a multi planetary species. For that I want to set up a Karborundrum farm on EVE to fuel my not-at-all-oversized mothership. The goal are autonomous miners with 4 Automated Industrial Strip Miners on them and a orbital logistics setup to get the Karborundrum into space. I can't for the life of me figure out how to cool the Automated Industrial Strip Miners from USI. I've tried - attaching the Strip Miner
  2. The design was done with Inkscape. I ordered it from the first "custom dibond" result on google
  3. I think you still have a few options here. First, you could ditch the TM1638 - although I see its charm - and chain all 7 segments and LEDs over SPI. 5 pins total, plus whatever is needed to run the LCD. Second, there are analog-to-digital converter chips which are addressable over SPI. That way you'd get ADC without using more pins. The MCP3208 is one example that gives you 8 analogue pins over SPI. But then I don't think the analogue pins are your problem? Third, I mentioned this already, if you need more digital inputs, the 74165 family of chips gives you those, over SPI. Again, no addition
  4. I just found this: http://arduino.cc/en/Reference/SPISetClockDivider Seems the default is 4Mhz, or 500kbit per second. However you might want to check the maximum ratings on the receiving end of the connection to avoid some nasty debugging (not an issue with the 74595s).
  5. SPI sends one byte at a time by definition of the protocol but as usual you can make up your own "protocol" (big word for that) quite easily if you know what comes when. the KSPSerialIO communication between KSP and the microcontroller itself isn't much else tbh.
  6. hardware SPI is orders of magnitude faster, I remember 400kbps or something, but I might be wrong Oh and about the money: A 74595 costs around 30 cents in a local shop, much less if you order online. buy one and see what it does for you.
  7. @Psycho80: You can use really cheap ICs 74HC595 or 74HCT595 to expand your output ports. They are addressable over SPI and you'll need only a fixed number of pins (4 for output-only) on your arduino, no matter now many ICs you're addressing. Each 74595 will add eight output pins and you can chain them together. I'm using 6 of them chained together to give me 48 outputs to drive 37 7-segment displays and 30 standard-LEDs in my work-in-progress controller. Soon I'll add another two 74595s for another 10 LEDs. All that requires 4 pins on the microcontroller. There's a schematic in the thread lin
  8. Looks like the effort required to do what I had in mind is not worth the result. I welcome my new 46-case switch-statement overlord! :-( In other news @Zitronen, the config.xml file has ThrottleEnable set to 2, which seems to require a "throttle-off" ("x" key) upon launch, in order to make the hardware throttle actually able to put the throttle in game to zero. Without the "x" the game throttle simply jumps back to the 50% that it was at launch when the hardware throttle goes to zero. I've changed the ThrottleEnable to 1, which seems to work better.
  9. Now that you point that out a 16-bit address seems logical. Although the serial comms KSPBoardReceiveData() uses uint8_t to store the address of VData as a whole. Interesting that that works. Regarding the typecasting you definitely have a point, I didn't think that one through . I think I have a rough idea that involves storing the values behind the address in a buffer and then comparing the buffer with a typecast to long of that buffer - if that's the same it's long, otherwise it's float. That might not work though... hmmm More thinking required I believe... if anyone has a better approach (
  10. Hmmm, time for me to ask a question . This is more about C itself rather than the plugin since it is not my first language I'm looking for an efficient way to access individual values in the VesselData struct. Let me explain: KSPSerialIO's VesselData struct contains all flight information in a handy format, 45 of them at the moment. On a test-rig of mine I want to display any four of them on a 4-row LCD. The naive approach to this would be to use a gigantic switch-statement for each row (code is untested): #define DISPLAY_LINES 4 byte lineIndex[DISPLAY_LINES]; // these would be derived t
  11. The term you were looking for is "borrow" I think Oh and... have a close look at the top right
  12. @Zitronen, RasterProp seems to have a proposal for the Autopilot stuff: https://github.com/Mihara/RasterPropMonitor/pull/149/commits
  • Create New...