Jump to content

NLCbanner2024.jpg.2478be509670e60c2d6efd04834b8b47.jpg

skybadger

Members
  • Posts

    1,619
  • Joined

  • Last visited

Everything posted by skybadger

  1. Grand. While there are 4 hardware timers , how many of them are already in use by the os ? At least one for Wi-Fi and obedience the soft timer handler. While the Arduino manual is right you cannot declare an int and stuff it with an unsigned long. ,you d really like the compiler to pick that float + int error up.
  2. Looking at the code I would note that constant int xxxx = 1234ul will have unintended outcomes. Also, dont sit and wait in the loop for things to fire. A loop happens every 5ms or so, so loop should look for a timer interrupt fired flag to indicate the desired event has happened rather than block. On do ding the flag you can then process the action. Otherwise, while interrupts will keep on firing, your Wi-Fi may crap out due to missing carrier detects. Don't write debug code in interrupts that write to serial.! You are using the hardware timer, there are only a few available . On the 8266 you can chain many more using the soft interrupt timer , I don't know if this is true for esp32. You can use c_str() to convert strings to char [] . I haven't run the code to work out where the issue is.
  3. I too! Then I automated it using goto4all and sold it on. There's a variety of routes to goto for that mount if you want to. The eq5 is a bit more robust, if only in sheer capacity. I do miss mine, but I also have a gpdx with visac so not missing out too much.
  4. Sorry, I was misleading you . I read that reconnect as a wifi reconnect while its not, its a mqtt reconnect. thats required for the client.loop calls as you mention. You only need to check for a connection when you have something to say and when you are expecting subscription callbacks . Are you using subscription callbacks ? The client.loop function is about checking for and servicing the subscription callbacks and activates the callback handler. If not using callbacks then You don;t really care if the MQTT connection times out since it will be remade every time you connect out to it.
  5. Erm, good catch on the MQTT reconnect timeouts. Thats why I went to async reconnects handled through a separate timer handler. You dont want your device to be wrapped up and unresponsive to you becaase it can't see the MQTT server. Those periods will always be handled if you implement them using timer events. You can set the MQTT connection lifetime to be a longer value - the default is two minutes iirc. You should also watch out for the packets being within the MQTT header size - typically 120 bytes unless your redefine the limit in the library header. Also you need to go to the high capacity network model if your packets begin to get bigger than 350 bytes or so ( at least for the esp8266 version) you can also drop this line as no longer required if (!client.connected()) {reconnect();} since the Wifi object will auto reconnect if it detects a broken connection.
  6. Can you get a ring buffer dump every time you have gone round the ring index. Is your buffer being written from somewhere else too ? If you are happy that the individual values are in range, does the sum overflow ? Are you getting a rash of spurious edges that cause it to occasionally overflow ? a la button damping ?
  7. Thats what I would do for a few , a few hundred I was thinking you might have optimised a pipeline somehow. I guess you drop all the vids into AS3 for it to do its stuff overnight. I've moved onto Maxim to do wavelets since R6 is so flaky (on my laptop) . thanks for the answer.
  8. Thanks for this. I was aware of the ability to stack multiple files but never have understood how it could stack to the percentages for each file without setting a reference manually. I guess we are dependent on being confident as3 can select the reference as well or better than I can on a per-picture basis.
  9. i use OTA updates - the point is that the OTA installs a web handler that can receive and blow new firmware images. Just browse to the URL in your browser, upload the firmware blob and hit submit. Key dependencies are that your device is on the network, is discoverable, etc,, so problematic if your device falls off the network for a programming reason, then you will need serial access . I don't / haven't done it from the IDE though.
  10. Hi , I'm really interested in what you mean by this . Can you elaborate please ?
  11. I have two of these, Vlad to see you got the date sorted. The erratic motion thing is always about cables, typically the encoder signal is dropping.
  12. Sheer effort! What's your process to reduce all that ? Really nice result.
  13. Thanks Paul. I had sharp fraunhofer lines this afternoon using an eyepiece in the camera opening but I will go back and check the collimator next. mike ta
  14. Are you sending in empty topics occasionally/by accident. There are means of resetting them using the msg object you might be doing unintentionally.
  15. Possibly starting a coding war, but using status1 && status 2 will fail if status1 is not TRUE. because the compiler spec is to check them in order and fail as necessary. For clarity and the next person, obtain the status of the things you are interested in first and then do the logic and reporting.
  16. On the Esp you can have two wires (maybe more) running and point each instance at a set of pins. You do need to do Wire.begin( SCL=x, SDA=Y, optionalLocalMasterAdd) in setup but Adafruit sometimes hides this inside the library because its a bit noddy and assumes you only have one device. I pull these bits out and do something like bme280.begin( address, twowire& myref) so I can tell it what wire interface to use. Otherwise these libraries often assume default pins and only one instance.
  17. I'm looking for a post-assembly setup guide for the alignment of the optics in the lowspec specifically. In my mind it might be easier now i have all the opticis assembled and working Focus guider on slit wheel. Done. Fairly easy since there is dust and specks on the wheel regardless of the care you applied. Align guide mirror to project centre of slit into guider . Done. Surprisingly minor, though the realtive position of the slit in teh field of view of the guider does move dependnig which slit you put it on. Suspect that the centre of the disk is not concentric with the centre of the wheel. Align grating to n=0 . Used sun to find order=1 position - assumed its the brightest spectrum position. How do I focus the entry collimator so I know it's fully illuminating the grating with parallel light ? Mirror behind and look for focused slit projected back onto the wheel ? Align grating in holder - no real adjustment possible. Place camera in camera port and focus using dial. No alignment adjustments possible with output collimator lens. Is that about it ? cheers
  18. You do need a separate bme object per device otherwise you will always read he one you have stored the address for last. e.g BME280 bme76; BME280 bme77; status1 = bme76.begin( 0x76 ); etc. Where is wire being initialised and set to use the right pins ?
  19. Did anyone post a link to a setup guide ? I am sure I have read one but can;t for the life of me find it again! It doesn't appear amongst the thingiverse files. So where did I read it ?
  20. As far as bad readings go. I would check my loop timings. I'v had sensors that are quite sensitive to both i2c timings - too slow and they get upset and to polling timings, too short or too long compared to acquisition time and they get upset. The worst one for timing has been the HTU21D and the worst one for default readings has been the BMP280 due to i2c timings. Setting i2c speed back to 100KHz from 50 KHz solved that.
  21. The ESP stack is sensitive to needing reconnects and has historic issues with connections being dropped, so your code needs to check the client connection is still viable and remake it if necessary. A reboot typically fixes this until the next drop, which may be hours or minutes away. The ESp8266 needs a combination of LWIP 1.4 and high bandwidth settings to enable client connections and in the loop coding to reconnecti on drop. The MQTT broker will have capacity for hundreds or thousands of connections, limited principally by memory since there is no timing guarantee on messages.
  22. I have the Ender 3 pro. I bought it 3 weeks ago for printing the lowspec spectrometer. The drawbacks are That the bed isn't very flat and you need to flatten it after hearing and that the magnetic sheet on the bed won't easily release large objects . I out a nuisance crease in mine trying to lift it off the plate withe model on. The SD card slot is also fiddly, mine doesn't eject. I have to pull it out. That said its been very good at printing, successfully printing a 2.5 day print of the main body part. Used with Cura seems to be the way to go.
  23. I'm the op. I eventually used a compact camera on a separate tripod , the zoom on the camera let me get a reasonable image size but still not frame filling. I think the lensless approach worked since you are imaging the ronchi or slit using the primary and that implies you can only image the slit if the slit is inside focus, placing the image of the slit and the camera outside nominal focus. Or I'm making it up since we are talking CoC here rather than focal length. I haven't been back to this since making a small bracket with a tripod thread in it and using the web cam glued to this to image the fringes. Afterwards I moved to dual pass auto collimation process which is a different kettle of fish. I do know that others have imaged the fringe pattern using the zoom feature of compact cameras. Also the use of the word infinity above is wrong , I meant imaging at CoC. Which is why the Webcam telephoto lens wouldn't come to focus in the mount I had and needs an extension. HTh
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.