Note I - Stockholders' Equity (Details Textual) - USD ($) | Jun. 30, 2020 | Dec. 17, 2019 | May 14, 2019 | Jun. 30, 2020 | Apr. 30, 2020 | Mar. 31, 2019 | Feb. 28, 2019 | May 31, 2014 | Dec. 31, 2020 | Dec. 31, 2019 | Dec. 17, 2019 | Dec. 31, 2018 |
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | | | | | | | | | $ 1.97 | $ 0.50 | | $ 2.55 |
Proceeds from Stock Options Exercised | | | | | | | | | $ 384,146 | | | |
Proceeds from Issuance of Private Placement | | | | | | | $ 250,000 | $ 10,000,000 | | $ 250,000 | | |
Share Price (in dollars per share) | | | | | | | | | | $ 0.84 | | |
Proceeds from Issuance of Common Stock | | | | | | | | | $ 18,043,284 | $ 1,974,547 | | |
Deferred Compensation Arrangement with Individual, Shares Authorized for Issuance (in shares) | | | | | | | | | 2,428,329 | 2,375,760 | | 2,470,566 |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Reclassified in Period (in shares) | | | | | | | | | | 600,000 | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Reclassified in Period, Amount | | | | | | | | | | $ 422,000 | | |
Reclassification of Shares to be Issued, Amount | | | | | | | | | | $ 1,300,000 | | |
Class of Warrant or Right, Exercised During Period (in shares) | | | | | | | | | 1,163,775 | 675,000 | | |
Stock Issued During Period, Shares, Shares to be Issued (in shares) | | | | | | | | | | 1,300,000 | | |
Gain (Loss) from Warrants Exercised | | | | | | | | | | $ (500,000) | | |
Gain (Loss) on Issuance of Shares to be Issued | | | | | | | | | | (500,000) | | |
Adjustments to Additional Paid in Capital, Warrants Exercised | | | | | | | | | | 650,000 | | |
Adjustments to Additional Paid in Capital, Shares to be Issued | | | | | | | | | | $ 1,070,000 | | |
Common Stock, Shares Authorized (in shares) | | 75,000,000 | | | | | | | 85,000,000 | 85,000,000 | 75,000,000 | |
Shares To Be Issued, Marked To Market, Shares (in shares) | | 2,100,000 | | | | | | | | | | |
Market to Market, Gain (Loss) | | $ (500,000) | | | | | | | | $ (2,600,000) | | |
Adjustments to Additional Paid in Capital, Reclassification of Derivative Liability to Option | | | | | | | | | | 380,000 | | |
Adjustments to Additional Paid in Capital, Reclassification of Derivative Liability to Equity | | 2,640,000 | | | | | | | | $ 4,115,778 | $ 2,700,000 | |
Adjustments to Additional Paid in Capital, Warrants Exercised and Shares to be Issued | | 4,100,000 | | | | | | | | | | |
Stock Issued During Period Shares, Warrants Exercised (in shares) | | | | | | | | | | 675,000 | | |
Reclassification to Additional Paid in Capital | | $ 1,070,000 | | | | | | | | $ 655,000 | | |
Derivative, Gain (Loss) on Derivative, Net, Total | | | | | | | | | | $ 500,000 | | |
Common Stock, Shares, To be Issued (in shares) | | 2,100,000 | | | | | | | | | 2,100,000 | |
Gain (Loss) on Liability Classified Shares to Be Issued | | $ (1,800,000) | | | | | | | | | | |
Share-based Payment Arrangement, Option [Member] | | | | | | | | | | | | |
Share Price (in dollars per share) | | | | | | | | | | $ 1.28 | | |
Share based Compensation Arrangement By Share based Payment Award, Options Reclassified In Period, Marked To Market | | 600,000 | | | | | | | | | | |
Market to Market, Gain (Loss) | | $ 40,000 | | | | | | | | $ 40,000 | | |
Shares To Be Issued [Member] | | | | | | | | | | | | |
Reclassification of Shares to be Issued, Amount | | | | | | | | | | 1,405,000 | | |
Market to Market, Gain (Loss) | | | | | | | | | | $ (1,800,000) | | |
Chief Executive Officer, Chief Financial Officer and Employees [Member] | | | | | | | | | | | | |
Deferred Compensation Arrangement with Individual, Shares Authorized for Issuance (in shares) | | | | | | | | | 2,256,844 | 2,226,473 | | |
Non-Employees [Member] | | | | | | | | | | | | |
Common Stock, Capital Shares Reserved for Future Issuance (in shares) | | | | | | | | | 171,485 | 149,287 | | |
Preferred Stock Converted to Common Stock [Member] | | | | | | | | | | | | |
Conversion of Stock, Conversion Price (in dollars per share) | | | $ 1.17 | | | | | | | | | |
Conversion of Stock, Shares Issued (in shares) | | | 5,982,906 | | | | | | | | | |
Warrants, Public Offering [Member] | | | | | | | | | | | | |
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) | | | | | | | 1,428,750 | | | | | |
Warrants and Rights Outstanding, Term (Year) | | | | | | | 5 years | | | | | |
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | | | | | | | $ 0.50 | | | | | |
Underwrite Warrants [Member] | | | | | | | | | | | | |
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) | | | | | | 141,850 | 141,850 | | | | | |
Warrants, Private Offering [Member] | | | | | | | | | | | | |
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) | | | | | | | 178,571 | | | | | |
Warrants and Rights Outstanding, Term (Year) | | | | | | | 5 years | | | | | |
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | | | | | | | $ 0.50 | | | | | |
Warrants Associated With April 2020 Public Offering [Member] | | | | | | | | | | | | |
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) | | | | | 2,710,000 | | | | | | | |
Warrants and Rights Outstanding, Term (Year) | | | | | 3 years | | | | | | | |
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | | | | | $ 1.20 | | | | | | | |
Warrants Associated With the June 2020 Public Offering [Member] | | | | | | | | | | | | |
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) | 3,749,000 | | | 3,749,000 | | | | | | | | |
Warrants and Rights Outstanding, Term (Year) | 3 years | | | 3 years | | | | | | | | |
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | $ 2.60 | | | $ 2.60 | | | | | | | | |
Warrants Issued in 2016 Capital Raise [Member] | | | | | | | | | | | | |
Class of Warrant or Right, Reclassified During Period (in shares) | | | | | | | | | | 1,600,000 | | |
Reclassification of Shares to be Issued, Shares (in shares) | | | | | | | | | | 3,400,000 | | |
Class of Warrant or Right, Value, Reclassified During Period | | | | | | | | | | $ 0 | | |
Class of Warrant or Right, Marked to Market (in shares) | | 1,600,000 | | | | | | | | | | |
Market to Market, Gain (Loss) | | $ 0 | | | | | | | | $ 0 | | |
Adjustments to Additional Paid in Capital, Reclassification of Derivative Liability to Warrants | | $ 1,095,000 | | | | | | | | | | |
Warrants Issued in 2019 Capital Raise [Member] | | | | | | | | | | | | |
Class of Warrant or Right, Reclassified During Period (in shares) | | | | | | | | | | 1,700,000 | | |
Class of Warrant or Right, Value, Reclassified During Period | | | | | | | | | | $ 376,000 | | |
Class of Warrant or Right, Marked to Market (in shares) | | 1,100,000 | | | | | | | | | | |
Market to Market, Gain (Loss) | | $ (860,000) | | | | | | | | $ (860,000) | | |
Adjustments to Additional Paid in Capital, Reclassification of Derivative Liability to Warrants | | 0 | | | | | | | | | | |
Adjustments to Additional Paid in Capital, Reclassification of Derivative Liability to Option | | $ 380,000 | | | | | | | | | | |
Warrants Previously Classified as Derivative Liability [Member] | | | | | | | | | | | | |
Class of Warrant or Right, Exercised During Period (in shares) | | | | | | | | | | 665,000 | | |
The 2019 Warrants [Member] | | | | | | | | | | | | |
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) | | | | | | | | | 1,749,171 | 1,084,171 | | |
Adjustments to Additional Paid in Capital, Reclassification of Derivative Liability to Warrants | | | | | | | | | | $ 1,095,000 | | |
The 2016 Warrants [Member] | | | | | | | | | | | | |
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) | | | | | | | | | 1,592,775 | 1,592,775 | | |
Adjustments to Additional Paid in Capital, Reclassification of Derivative Liability to Warrants | | | | | | | | | | $ 0 | | |
Public Offering [Member] | | | | | | | | | | | | |
Proceeds from Issuance or Sale of Equity, Total | | | | | | | $ 2,000,000 | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | | | | 5,715,000 | | | | | |
Proceeds from Stock Options Exercised | | | | | | $ 198,000 | $ 198,000 | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period (in shares) | | | | | | 567,400 | 567,400 | | | | | |
Private Placement [Member] | | | | | | | | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | | | | 714,286 | 2,000,000 | | | | |
Proceeds from Issuance of Common Stock | | | | | | | | $ 3,000,000 | | | | |
Shares Issued, Price Per Share (in dollars per share) | | | | | | | | $ 1.50 | | | | |
Proceeds from Issuance of Convertible Preferred Stock | | | | | | | | $ 7,000,000 | | | | |
Private Placement [Member] | Series A Convertible Preferred Stock [Member] | | | | | | | | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | | | | | 7,000 | | | | |
Shares Issued, Price Per Share (in dollars per share) | | | | | | | | $ 1,000 | | | | |
Preferred Stock, Redemption Price Per Share (in dollars per share) | | | | | | | | 2.545 | | | | |
Private Placement [Member] | Series A Convertible Preferred Stock [Member] | Conversion Price if Common Stock Not Trade at 3.15 [Member] | | | | | | | | | | | | |
Preferred Stock, Redemption Price Per Share (in dollars per share) | | | | | | | | $ 1.50 | | | | |
April 6, 2020 Public Offering [Member] | | | | | | | | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | | 5,420,000 | | | | | | | |
Proceeds from Issuance of Common Stock, Gross | | | | | $ 5,100,000 | | | | | | | |
Share Price (in dollars per share) | | | | | $ 0.95 | | | | | | | |
Proceeds from Issuance of Common Stock | | | | | $ 4,600,000 | | | | | | | |
June 30, 2020 Public Offering [Member] | | | | | | | | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | 6,770,000 | | | | | | | | | | | |
Proceeds from Issuance of Common Stock, Gross | $ 14,600,000 | | | | | | | | | | | |
Share Price (in dollars per share) | $ 2.15 | | | $ 2.15 | | | | | | | | |
Proceeds from Issuance of Common Stock | | | | $ 13,400,000 | | | | | | | | |