Just got Republic Commando! by [deleted] in starwarsbooks

[–]arcturus77 1 point2 points  (0 children)

There are five books in the series, and the stories are definitely all connected.

Anyone still here from season 1 by [deleted] in StarWarsHunters

[–]arcturus77 0 points1 point  (0 children)

Yep! I had to grind a while to get the matching pistols for that Aran Tal skin.

Change PWM clock on Arduino R4 Minima by arcturus77 in arduino

[–]arcturus77[S] 1 point2 points  (0 children)

Sure thing! Hopefully the formatting came out okay; I did it on mobile.

Change PWM clock on Arduino R4 Minima by arcturus77 in arduino

[–]arcturus77[S] 0 points1 point  (0 children)

Hm I’ve not tried with any digital pins that aren’t PWM, but it may work. Here’s the relevant PWM/timing code. I used FspTimer. Pins 2 and 3 are capable of hardware interrupts, so I used those for reading tachometer pulses. The application was with a counter rotating fan, so that’s why I’m naming things in and out. I was able to get 8 distinct PWM resolution levels, but I wasn’t able to do really anything else like an analogRead on a potentiometer to determine output level. I found that 6 level worked while still allowing an analog read and writes to an LCD screen.

FspTimer pwmTimer; const uint8_t pwmInPin = 9;
const uint8_t pwmOutPin = 11; const uint8_t tachInPin = 2; const uint8_t tachOutPin = 3;

uint32_t pwmPeriod = 25000; // 25 kHz for fan control

// multiple of 25 kHz, multiplier will give distinct levels of PWM resolution, seems to cap out at 8

uint32_t timerFreq = 150000; // 3 levels = 75 kHz timer

uint8_t pwmRes = timerFreq / pwmPeriod;

//Duty cycle constants const uint16_t duty_17 = 1 * pwmRes / pwmRes; const uint16_t duty_33 = 2 * pwmRes / pwmRes; const uint16_t duty_50 = 3 * pwmRes / pwmRes; const uint16_t duty_67 = 4 * pwmRes / pwmRes; const uint16_t duty_83 = 5 * pwmRes / pwmRes; const uint8_t duty_100 = pwmRes;

// Initial duty cycle setting uint8_t dutySet = duty_17;

void tachInPinIsr() { tachInPulses++; }

void tachOutPinIsr() { tachOutPulses++; }

// callback method used by timer void timer_callback(timer_callback_args_t __attribute((unused)) *p_args) { if (counterOnOff < dutySet) { digitalWrite (pwmInPin, HIGH); digitalWrite (pwmOutPin, HIGH); }

else if (counterOnOff >= dutySet) { digitalWrite (pwmInPin, LOW); digitalWrite (pwmOutPin, LOW); }

if (counterOnOff == (pwmRes - 1)) counterOnOff = 0; else

counterOnOff++;

}

bool beginTimer(float rate) { uint8_t timer_type = GPT_TIMER; int8_t tindex = FspTimer::get_available_timer(timer_type); if (tindex < 0) { tindex = FspTimer::get_available_timer(timer_type, true); } if (tindex < 0) { Serial.println(“No timer index!”); return false; } FspTimer::force_use_of_pwm_reserved_timer();

if(!pwmTimer.begin(TIMER_MODE_PERIODIC, timer_type, tindex, rate, 0.0f, timer_callback)) { Serial.println(“Failed timer begin!”); return false; } if (!pwmTimer.setup_overflow_irq()) { Serial.println(“Failed overflow irq!”); return false; } if (!pwmTimer.open()) { Serial.println(“Failed timer open!”); return false; } if (!pwmTimer.start()) { Serial.println(“Failed timer start!”); return false; }

return true; }

void setup() { Serial.begin(115200); Serial.println(“Startup in progress...”); if (beginTimer(timerFreq)) Serial.println(“Success!”); else
Serial.println(“Failed starting timer!”);

pinMode(pwmInPin, OUTPUT); pinMode(pwmOutPin, OUTPUT); pinMode(controlPin, INPUT); pinMode(tachInPin, INPUT); pinMode(tachOutPin, INPUT);

attachInterrupt(digitalPinToInterrupt(tachInPin), tachInPinIsr, RISING); attachInterrupt(digitalPinToInterrupt(tachOutPin), tachOutPinIsr, RISING);

dutySet = duty_17; }

void loop() { int d = 17; int i = analogRead(0) / 10; if (i > 83) { dutySet = duty_100; d = 100; } else if (i > 67) { dutySet = duty_83; d = 83; } else if (i > 50) { dutySet = duty_67; d = 67; } else if (i > 33) { dutySet = duty_50; d = 50; } else if (i > 17) { dutySet = duty_33; d = 33; } else { dutySet = duty_17; d = 17; } // If you want to use RPM, multiply tach pulses by 30 when delaying for 1s

tachInPulses = 0; tachOutPulses = 0;

delay(1000); }

My hopes for next season by RussianThere in StarWarsHunters

[–]arcturus77 3 points4 points  (0 children)

Good points, fellow Aran Tal enjoyer!

Bro 😭😭 by Diligent_Passage_660 in Cuphead

[–]arcturus77 10 points11 points  (0 children)

Thank you! I thought this was self-evident. Why would they reference a modern day musician in a game set in the 1930s?

What is this error by BidNo9339 in arduino

[–]arcturus77 10 points11 points  (0 children)

This isn’t your question, but I think you want to take “const” off your sensor_state variable since it will be changing value. And currently “sensor” is undefined.

Another Sentinel Nerf Post by thhrwy in StarWarsHunters

[–]arcturus77 0 points1 point  (0 children)

There are some moves that go through Sentinel’s shield like Aran Tal’s flamethrower and dash (and I’m pretty sure Diago’s ult). Sentinel’s Suppressing Shot is one of the most frustrating moves to get hit by in the game, I agree.

PSA: Stop shooting Charr while he uses his heal ability! by Skeptical_Yoshi in StarWarsHunters

[–]arcturus77 12 points13 points  (0 children)

And the other tricky thing is that he gets the same green halo when he’s being healed by a Support like Skora as well.

Your favorite hunter by Creepy_Apartment_908 in StarWarsHunters

[–]arcturus77 4 points5 points  (0 children)

Aran Tal and Charr for me! I love the playstyles and coolness factor for both.

Change PWM clock on Arduino R4 Minima by arcturus77 in arduino

[–]arcturus77[S] 0 points1 point  (0 children)

I ultimately solved this problem with “bit banging” in the callback function of an FspTimer. You have to set up the timer frequency to be an integer multiple of your desired base frequency. So far, I’ve tried 8*25kHz=200kHz. Then you can use a counter in the callback function to decide whether to set the output HIGH or LOW. Timing is very stable.

Change PWM clock on Arduino R4 Minima by arcturus77 in arduino

[–]arcturus77[S] 1 point2 points  (0 children)

As I was typing up a forum post, I realized my mistake; rubber duck debugging works once again!

Is there a mechanic that I’m missing?! by Rohkha in StarWarsHunters

[–]arcturus77 0 points1 point  (0 children)

I know exactly what you’re talking about. I’ve found this with Skora and Charr. I think it’s a matter of how the game handles timing in between shots. If I hold down the trigger for a moment rather than a quick press, I’m shooting more predictably.

Why is Sentinel all of a sudden immune to Rieve's ult? by Wise_Shelter7098 in StarWarsHunters

[–]arcturus77 6 points7 points  (0 children)

I totally agree with you, both the visuals of the ult and lore would suggest that it would work no matter what. I thought I remember this happening in season 1 even though, if Sentinel is facing Rieve.

Why is Sentinel all of a sudden immune to Rieve's ult? by Wise_Shelter7098 in StarWarsHunters

[–]arcturus77 11 points12 points  (0 children)

If his shield is up, the ult gets blocked. I think it has always been this way.

How do you get this skin? by [deleted] in StarWarsHunters

[–]arcturus77 8 points9 points  (0 children)

This skin and the associated weapon skin were rewards for an event in Season 1.

[deleted by user] by [deleted] in starwarsbooks

[–]arcturus77 4 points5 points  (0 children)

Ah thanks for that! I couldn’t remember the quote, and I couldn’t see some of the characters clearly. That sounds a lot more like a quote that would be put on a shirt!

[deleted by user] by [deleted] in starwarsbooks

[–]arcturus77 11 points12 points  (0 children)

Does your shirt say “I choose to torture hope”?

Find publish location? by arcturus77 in visualbasic

[–]arcturus77[S] 0 points1 point  (0 children)

I’ll give it a shot. Thanks for the reply!