Storage Blocks (Batbox, MFE, MFSU) output redstone signal at 1/2 capacity

  • I would like to be able to have my storage blocks to have the ability to output a redstone signal at some significant fraction (1/2, 3/4, 9/10...) of their capacity. The reason I'd like this added is that I'm tired of EU being wasted in inefficient transfers...


    Let's say we have the following setup:
    Nuclear Reactor -- MFSU -- MV Transformer (I couldn't find the correct smiley for it) -- LV Transformer -- Batbox -- Induction Furnace
    :Nuke TNT: :Glass Fibre: :MFS-Unit: :Glass Fibre: :HV-Transformer: :Glass Fibre: :LV-Transformer: :Glass Fibre: :Batbox: :Glass Fibre: :Induction Furnace:


    Obviously a real setup might be more complicated, but in this situation and situations like it, the furnace draws from the batbox, and the MFSU sends out a huge packet to fill the 1 EU/t hole in the batbox, wasting a ton of energy. I may have my understanding of the system wrong, and if I do I sincerely hope someone will correct me on it. But if my understanding is correct, if the batbox was set to send out a redstone signal at 9/10 capacity, I could prevent the MFSU from sending a packet that wastes all that energy because it will always have extra space.


    Alternatively, change the current system such that if storage units are set to "send a redstone signal when full" that they send a redstone signal when they are less than one packet (depending on the machine, of course) away from being full (so for a batbox, from capacity 39969 to 40000). This is similar to the current system where machines set to "send a redstone signal when empty" send their signal when (if I'm not mistaken) another tick of output would put them into negative EU.


    EDIT: I just realized this won't work when transforming higher voltages down to lower voltages... In the system I have above the MFSU sends down 16 32-EU packets... If the batbox requests EU when it's a packet down, then you're wasting 15 of those 16 packets.


    The only way I can really think of doing this without wasting EU ATM is to tell the MFSU to send EU when the batbox is empty, and the nuclear reactor to send EU when the MFSU is empty... But then you have no storage.


    I look forward to the replies!

  • All storage blocks and machines are able to hold slightly more than the gui says so the 512 packet from the mfsu will fill the 32 eu hole in the batbox storage + the remaining 480 eu for a total of 40480 eu in the batbox.

  • In that case, my suggestion would be to let the user know somehow that the batbox/whatever holds more than is advertised, such as simply telling the user that the batbox is currently holding 40480/40000 EU. If nothing else, I may update the wiki pages to say that they do that.

    • Official Post

    You don't have to worry about energy waste, when machine requests energy or lowering/increasing "voltage" as already mentioned before.
    Batbox doesn't show 40480/40000 for example because it would look very silly.
    However if you try nuclear control energy sensor kits, it does show those extra EU stored inside storage boxes.

  • In the shown setup Batbox will get 16 packets of 32EU. One packet would be stored, other discarded.
    The better suggestion would be to emit RS signal with strenght, proportional to stored charge. In 1.5 of course.

    • Official Post

    In the shown setup Batbox will get 16 packets of 32EU. One packet would be stored, other discarded.
    The better suggestion would be to emit RS signal with strenght, proportional to stored charge. In 1.5 of course.

    Batbox will actually get 4 packets of 32 EU per tick because LV transformer can only handle one MV packet, everything else is stored inside transformers buffer until it has a place to go.



    For example :


    MFSU emits a HV packet of 512 EU which goes to a MV transformer which tries to emit 4 MV packets to a LV transformer, but it only accepts one MV packet, other three MV packets gets stored in the MV transformer waiting for the LV transformer to send the first MV packet.
    After 4 ticks MV transformer buffer will be empty, LV transformer successfully sent 16 LV packets (assuming it has a place to go) and MFSU will send another HV packet, resetting the whole process.


    Tick one :
    MFSU (Send one HV packet) -> MV trans (Have 3 stored MV packets) -> LV trans (Output 4 LV packets) -> Batbox (receives 4 LV packets)


    Tick two :
    MFSU (do nothing) -> MV trans (Have 2 stored MV packets) -> LV trans (Output 4 LV packets) -> Batbox (receives 4 LV packets)


    Tick three :
    MFSU (do nothing) -> MV trans (Have 1 stored MV packets) -> LV trans (Output 4 LV packets) -> Batbox (receives 4 LV packets)


    Tick four :
    MFSU (do nothing) -> MV trans (Have 0 stored MV packets) -> LV trans (Output 4 LV packets) -> Batbox (receives 4 LV packets)


    Tick five (same as one, the process starts again) :
    MFSU (Send one HV packet) -> MV trans (Have 3 stored MV packets) -> LV trans (Output 4 LV packets) -> Batbox (receives 4 LV packets)


    ...

  • You could use the storage monitor from Advanced Power Management ([Addon v1.109+] Advanced Power Management V1.1.55-IC2_1.112 [Universal]) to monitor pretty much any EU storage device and have the Storage Monitor configured to output a redstone signal at whatever levels you desire. Pass the redstone signal through a redstone torch to invert it and you've got something that'll be redstone hot above a certain storage value and turn off once it drops below the lower bounds set in the Storage Monitor.


    The setup would look like this:


    Code
    Storage Monitor ->redstone torch -> redstone...... MFSU -> MV transformer -> LV transformer -> Batbox
    ^^^^^^^^^^^^^                                     ^^^^^
    (with card monitoring batbox)            Set to stop outputting when receiving a redstone signal


    Configure the storage monitor with a low of 50% and a high of 90%. While the batbox is above 50% storage, the Storage monitor will not output a redstone signal, meaning the torch will, meaning the MFSU will not output EU. Once the batbox has dropped below 50%, the storage monitor will output a redstone signal, the torch will turn off, the MFSU will stop receiving redstone and start outputting EU. The Storage monitor will continue to emit a redstone signal until the batbox is above 90%, then shut off, turning the redstone torch back on, stopping the MFSU from emitting power.

  • The better suggestion would be to emit RS signal with strenght, proportional to stored charge. In 1.5 of course.

    I quite like this particular suggestion. It'll completely remove the need for 'easy' solutions like setting it to output at 50%, and still allow for fine grained control of power management.

  • but in this situation and situations like it, the furnace draws from the batbox, and the MFSU sends out a huge packet to fill the 1 EU/t hole in the batbox

    So there is no place for all EU packets, for one only.

    other three MV packets gets stored in the MV transformer

    This means no EU packets wasted, only EU loss in wires allowed.

  • If you need a specific reason for it, what about nuke reactors?


    1 second reactor pulses vs 20 second regular ticks. It's not exactly simple to sync the three, and I hemmorage uranium if I leave the thing turned on with full MFSUs while the cobbeminer runs (about 2 or 20 EU/t 24/7, depending on how I have it configured), even though they're set up to turn the reactor off when full.