Skip to content

Releases: radarjd/sparki_learning

improved connections on Mac

05 Jul 19:32
Compare
Choose a tag to compare

Macs seem to be extremely likely to timeout -- if you pause in communicating with the robot for a few sections, the connection drops and needs to be re-initialized. This version does that more or less silently.

added speak function

19 May 17:46
Compare
Choose a tag to compare

This very minor change adds the speak function for windows and mac users. The speak function is a truly awful hack, which relies on the operating system to do text to speech.

battery and RGB LED fixes; version number changes

09 May 14:28
Compare
Choose a tag to compare

This release primary adds information on the fact that the calls to test battery level are unreliable, and the RGB LED has hardware limitations which may prevent it from working as expected.

Also, I added logic to ignore anything in the sparki robot library version number after a lower case 'r'. So, version 1.2.1 and version 1.2.1r2 should be detected as the same version number as far as the capability detection in the python library goes.

cleaned up libraries

05 May 16:41
Compare
Choose a tag to compare

This version cleans up a variety of bugs and generally cleans up the libraries -- it is to be preferred above all previous versions.

Added the LCDsetColor command, which allows you to choose whether you're drawing in black or white. Setting the color to white and then drawing allows you to erase pixels

Added the drawFigure example which draws a regular polygon of n sides where n >= 3

added EEPROM and LCD commands; lots of bug fixes

06 Apr 18:51
Compare
Choose a tag to compare

This version has major fixes to the .ino code for sparki over the previous version, and should be used in favor of all other versions. Since the previous version, I switched to the newest Sparkiduino compiler, which also has upgrades from the Arduino compiler. The differences in versions freed up some storage space and allowed me to add commands to the API.

Issues fixed since the last release:

  • motors() should be fixed for all users of the robot (several other commands were fixed due to the same issue)
  • motors() should accept a float value for time instead of truncating to an int
  • bug in setSparkiDebug() fixed
  • waitForSync() should timeout sooner than it did previously

Commands added since the last release:

  • EEPROMread() and EEPROMwrite() -- allow reading and writing to the EEPROM on the processor
  • LCDdrawLine(), LCDdrawString(), LCDreadPixel() -- respectively, draws a line on the LCD, draws a string on the LCD, and returns True if a pixel on the LCD is colored in
  • start_sync_server() and start_sync_client -- begins a server and client, respectively, to synchronize actions over the network

Known issues:

  • It appears that the RGB command on the sparki is flaky when the red component is equal to the blue and green
  • The battery voltage is being reported too low -- lower than it actually is. I believe this to be an issue with an underlying library

fixed packaging and added sync commands

23 Mar 00:52
Compare
Choose a tag to compare

This is the first package I've done for outside distribution, and there were some hiccups getting everything working. The package should now install correctly using python setup.py install or easy_install sparki-learning

I've also added commands to make synchronizing actions across multiple robots easier. See the synchronization commands for more info.

added sync_lib

22 Mar 18:53
Compare
Choose a tag to compare

added a couple of experimental functions to permit easy synchronization over the network of multiple computers running their respective robots

added setup.py for easy install

22 Mar 16:47
Compare
Choose a tag to compare

This version is the first with (I hope) the capability to be easily installed using setup.py. I'm trying to get it working to install via pypi as well.

version 1.1.0

06 Mar 01:05
Compare
Choose a tag to compare

Updated the python library with the grid commands.

drawFunction(function, xvals) - draws the function given on the coordinate plane; the function given as the argument should be a lambda function which calculates the y coordinate for a given x; the xvals argument should be an iterable of the x values for which to calculate a y value; a test / example python file has also been added demonstrating the use of this function

getAngle() - returns the current heading of the robot in degrees, where Sparki starts at 0 degrees when initialized; only turns done through turnBy() will be "tracked" for the purposes of this command; a heading of 0 is treated as going up the y axis

getPosition() - returns the current position of Sparki on the coordinate plane

moveBy(x,y) - moves to the x,y position relative to the current position; the behavior of this command is exactly the same as a moveTo() executed immediately following initialization

moveTo(x,y) - moves to the x,y position indicated on the coordinate plane

resetPosition() - resets the position to a heading of 0 and a current position of 0,0

setAngle(degrees) - sets the current heading of the Sparki

setPosition(x,y) - sets the current position on the coordinate plane

The turnTo(degrees) command has had its behavior changed since the previous version. It will now turn to the heading given as the argument.