TimB's Project/Sprint List

Are these any better? More expensive for sure.

Yes, porting IC2DEV for IMU-9150 to Spark Core would be horrible, don’t do it.

Sounds good, I might still go ahead with porting it directly in the next couple weeks.

I agree with @peekay123 here. Having the IMU as a breakout board by itself would be convenient. Things only get tricky if one wanted to build, for example, a micro quad-rotor or something wearable, where real estate was limited.

I smell an opportunity for a 3D printer shield!!

1 Like

Nah, those contain two or three discrete 3-Axis sensors. The IMU-9150 and LSM9D0 all contain 3 sensors on a single chip, which is much better on space.

Okay guys, I’ve got an RSSI function implemented now for the Network:: class! I did a pull request this morning, but noticed a small bug (sometimes the scan table that holds all information will only return a single null entry) which I’ve just gotten fixed. I’m stability testing now and if I don’t see any errors I’ll re-submit it and it should be added to the master branch soon! :smiley:

5 Likes

Alrighty, I have it written, submitted, bug found, pulled, bug fixed, tested for 24 hours and resubmitted!

Added NetworkClass::RSSI [#152]

If you want to try it before it goes live, here’s a demo sketch for you:

unsigned long loopNum = 0;

void setup() {
    Serial.begin(115200);
    Serial.println("*** WiFi Status ***");
    Serial.println("***   timb.us   ***");
    Serial.println("***  0x85D1163  ***");
    Serial.println();
}

void loop() {
    Serial.print("Loop: "); Serial.println(loopNum++);
    Serial.print("SSID: "); Serial.println(Network.SSID());
    Serial.print("RSSI: "); Serial.print(getRSSI()); Serial.println("dB");
    Serial.println();
    delay(5000);
}

int8_t getRSSI()
{
	uint32_t _functionTimeout = millis() + 1000;
	uint8_t _loopCount = 0;
	int8_t _returnValue = 0;
	while (millis() < _functionTimeout)
	{
		while (_loopCount++ < 16)
		{
			unsigned char wlan_scan_results_table[50];
			char wlan_scan_results_ssid[32];
			if(wlan_ioctl_get_scan_results(0, wlan_scan_results_table) != 0) return(1);
			for (int i = 12; i <= 43; i++)
			{
				int arrayPos = i - 12;
				wlan_scan_results_ssid[arrayPos] = wlan_scan_results_table[i];
			}
			if (*wlan_scan_results_ssid == *ip_config.uaSSID) _returnValue = ((wlan_scan_results_table[8] >> 1) - 127);
			if (wlan_scan_results_table[0] == 0) break;
		}
		if (_returnValue != 0) return(_returnValue);
	}
	return(2);
}

This is what the output looks like:

Loop: 777
SSID: timb_guest
RSSI: -64dB

If you want to try it in your own sketch, just use the getRSSI() part at the bottom. (Though, don’t use this for longterm or production stuff. Please be sure to replace it with the real Network.RSSI(); function when it goes live soon!)

2 Likes

Hey guys, quick update on an unlisted project I’ve been doing off and on for a few months that I’m finally putting a board together for!

<img src="/uploads/particle/2335/93b37586f8b3fa02.png" width=“666” height="500”>

<img src="/uploads/particle/2336/d076107edccc6e27.png" width=“571” height="500”>

This is a 2.5x2.5” WiFi GPIB/USBTMC Interface board. It’s designed to be an inexpensive method of hooking GPIB (IEEE-488) or USBTM test equipment to the cloud and/or your local network. The overall idea is that you can access and program your test equipment from a web based interface. (The interface will also be able to access LXI instruments on the same LAN as the Spark Core.)

I hate LabView with a passion and even SignalExpress is overpriced and overkill for basic professional and hobbyist use.

DMMs, Power Supplies and Scope that cost tens of thousands of dollars 20+ years ago can now be had for hundreds of dollars on eBay or even free from some sources. Most of these have GPIB interfaces on them. I personally needed an inexpensive way to attach my older GPIB gear, plus my newer USBTMC stuff to my network for programming, so I decided to design my own solution. If it works well I may make up some boards to sell down the road.

Anyway, just wanted to share what I’m working on!

In other news, my first Battery Shield board should be here tomorrow! Stay tuned…

6 Likes

@timb did you ever end up porting the LSM9DS0 to Spark?
The Core Bot Board still sounds like a good idea.
Or even just something that was basically a Spark with a LSM9DS0 and an easy way to add more outputs.

Wow Tim quite a list. Have you heard from Spark about including Spark in a commercial product? Any pricing info?

1 Like

Hi @dougleppard,

Good question! Please feel free to email us at hello@spark.io and we can get you connected with our business development team about pricing. :slight_smile:

Thanks,
David

I have had good luck with these wired ethernet units

Doesn’t help with the hell that is SCPI, but being able to use python/netcat to talk to my GPIB devices was a life changing experience for me :smile:

I’m the last person to discourage innovation, but if you have problems, I can recommend the Prologix units.

Will do thanks for the info and watching the list.

1 Like